Project Root: customerTicket Generated At: 2026-09-28T15:29:03+00:00 Python Files: 197 Django Files: 37 JavaScript/TypeScript Files: 21 HTML Files: 31 Total Files: 782 Total Directories: 97 customerTicket ├── apps │ ├── accounts │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_initial.py │ │ │ ├── 0003_magiclinkaccesslog_alter_ticketmagiclink_options_and_more.py │ │ │ ├── 0004_ticketmagiclink_created_unit_and_more.py │ │ │ ├── 0005_magiclinkaccesslog_magic_opened_idx_and_more.py │ │ │ ├── 0006_user_voip_call_user_voip_extension_and_more.py │ │ │ ├── 0007_user_voip_mobile.py │ │ │ └── __init__.py │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── forms.py │ │ ├── magic_access.py │ │ ├── models.py │ │ ├── urls.py │ │ └── views.py │ ├── attachments │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_initial.py │ │ │ ├── 0003_alter_attachment_file.py │ │ │ └── __init__.py │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── delivery.py │ │ ├── models.py │ │ ├── services.py │ │ ├── urls.py │ │ └── views.py │ ├── core │ │ ├── management │ │ │ ├── commands │ │ │ │ ├── __init__.py │ │ │ │ ├── bootstrap.py │ │ │ │ ├── export_production_seed.py │ │ │ │ ├── import_production_seed.py │ │ │ │ └── normalize_persian_data.py │ │ │ └── __init__.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_seed_branding_and_page_titles.py │ │ │ ├── 0003_sitebranding_developer_credit_html_and_more.py │ │ │ ├── 0004_sitebranding_staff_sidebar_credit_html_and_more.py │ │ │ ├── 0005_sitebranding_company_logo_and_more.py │ │ │ ├── 0006_productionseedstate.py │ │ │ ├── 0007_voipconfiguration.py │ │ │ └── __init__.py │ │ ├── templatetags │ │ │ ├── __init__.py │ │ │ └── jalali.py │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── context_processors.py │ │ ├── iran_locations.py │ │ ├── middleware.py │ │ ├── models.py │ │ ├── persian_text.py │ │ └── production_seed.py │ ├── customers │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_customerprofile_city_customerprofile_province.py │ │ │ ├── 0003_contactgroup_customerprofile_organization_name_and_more.py │ │ │ ├── 0004_contactgroup_unit_customerprofile_groups_and_more.py │ │ │ └── __init__.py │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ └── models.py │ ├── integrations │ │ ├── bale │ │ │ ├── __init__.py │ │ │ └── providers.py │ │ ├── sms │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── behin.py │ │ │ ├── console.py │ │ │ ├── factory.py │ │ │ ├── http.py │ │ │ ├── providers.py │ │ │ └── sms0098.py │ │ ├── __init__.py │ │ └── voip.py │ ├── messaging │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_initial.py │ │ │ ├── 0003_messagereadreceipt.py │ │ │ └── __init__.py │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── models.py │ │ ├── services.py │ │ ├── urls.py │ │ └── views.py │ ├── notifications │ │ ├── management │ │ │ ├── commands │ │ │ │ ├── __init__.py │ │ │ │ └── process_notifications.py │ │ │ └── __init__.py │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_smstemplate.py │ │ │ ├── 0003_notificationpolicy_notificationjob_status.py │ │ │ ├── 0004_customer_reply_bale_policy.py │ │ │ ├── 0005_smstemplate_unit_alter_smstemplate_event_type_and_more.py │ │ │ ├── 0006_alter_smstemplate_allowed_tags.py │ │ │ ├── 0007_notificationjob_notif_due_idx_and_more.py │ │ │ ├── 0008_notificationjob_provider_message_id.py │ │ │ ├── 0009_ensure_global_sms_templates.py │ │ │ ├── 0010_use_actual_unit_in_staff_ticket_sms.py │ │ │ ├── 0011_notification_delivery_tracking.py │ │ │ ├── 0012_supervisor_sms_template.py │ │ │ ├── 0013_notificationjob_definitive_delivery_retry.py │ │ │ ├── 0014_backfill_safe_0098_delivery_retries.py │ │ │ └── __init__.py │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── models.py │ │ └── services.py │ ├── staff │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_staffprofile_first_name_staffprofile_job_title_and_more.py │ │ │ ├── 0003_staffprofile_role.py │ │ │ ├── 0004_organizationalunit_staffprofile_primary_unit_and_more.py │ │ │ ├── 0005_organizationalunit_accepts_external_tickets.py │ │ │ ├── 0006_alter_organizationalunit_options_and_more.py │ │ │ ├── 0007_organizationalunit_show_in_customer_form.py │ │ │ ├── 0008_unitmembership_ticket_scope_and_roles.py │ │ │ ├── 0009_alter_staffprofile_sort_order.py │ │ │ ├── 0010_organizationalunit_notification_destinations.py │ │ │ ├── 0011_organizationalunit_supervisor_mobile_4.py │ │ │ ├── 0012_organizationalunit_supervisor_mobile_5.py │ │ │ └── __init__.py │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── forms.py │ │ └── models.py │ ├── tickets │ │ ├── migrations │ │ │ ├── 0001_initial.py │ │ │ ├── 0002_alter_ticketreadstate_ticket.py │ │ │ ├── 0003_ticket_city_ticket_province.py │ │ │ ├── 0004_tickettag_ticket_assigned_unit_ticket_created_by_and_more.py │ │ │ ├── 0005_bootstrap_legacy_staff_unit.py │ │ │ ├── 0006_assign_legacy_contacts_to_sales.py │ │ │ ├── 0007_alter_ticketcategory_options_ticketcategory_unit.py │ │ │ ├── 0008_assign_categories_to_default_unit.py │ │ │ ├── 0009_seed_customer_facing_units_and_categories.py │ │ │ ├── 0010_alter_ticketcategory_options_and_more.py │ │ │ ├── 0011_ticketcategory_show_in_customer_form.py │ │ │ ├── 0012_groupdispatch_operation_permissions_and_seed_org.py │ │ │ ├── 0013_merge_legacy_accounting_unit.py │ │ │ ├── 0014_merge_legacy_warehouse_units.py │ │ │ ├── 0015_seed_customer_category_catalog.py │ │ │ ├── 0016_scope_legacy_public_tickets_to_units.py │ │ │ └── __init__.py │ │ ├── __init__.py │ │ ├── admin.py │ │ ├── apps.py │ │ ├── category_catalog.py │ │ ├── customer_urls.py │ │ ├── forms.py │ │ ├── models.py │ │ ├── policies.py │ │ ├── selectors.py │ │ ├── services.py │ │ ├── staff_urls.py │ │ └── views.py │ └── __init__.py ├── config │ ├── settings │ │ ├── __init__.py │ │ ├── base.py │ │ ├── dev.py │ │ └── prod.py │ ├── __init__.py │ ├── asgi.py │ ├── env.py │ ├── urls.py │ └── wsgi.py ├── design-prototypes │ └── ticket-new-wizard │ ├── index.html │ ├── prototype.js │ ├── styles.css │ └── test_prototype_e2e.py ├── docker │ ├── entrypoint.sh │ └── nginx.conf ├── docs │ ├── DEPLOYMENT_COOLIFY.md │ ├── ORGANIZATIONAL_TICKETING.md │ ├── ORGANIZATIONAL_TICKETING_GAP_ANALYSIS.md │ ├── PRODUCTION_SEED.md │ ├── QA_PERMISSION_MATRIX.md │ └── THEMING.md ├── graphify-out │ ├── 2026-09-05 │ │ ├── .graphify_analysis.json │ │ ├── .graphify_labels.json │ │ ├── graph.json │ │ ├── GRAPH_REPORT.md │ │ └── manifest.json │ ├── 2026-09-06 │ │ ├── .graphify_analysis.json │ │ ├── .graphify_labels.json │ │ ├── graph.json │ │ ├── GRAPH_REPORT.md │ │ └── manifest.json │ ├── 2026-09-07 │ │ ├── .graphify_analysis.json │ │ ├── .graphify_labels.json │ │ ├── graph.json │ │ ├── GRAPH_REPORT.md │ │ └── manifest.json │ ├── 2026-09-08 │ │ ├── .graphify_analysis.json │ │ ├── .graphify_labels.json │ │ ├── cost.json │ │ ├── graph.json │ │ ├── GRAPH_REPORT.md │ │ └── manifest.json │ ├── 2026-09-09 │ │ ├── .graphify_analysis.json │ │ ├── .graphify_labels.json │ │ ├── cost.json │ │ ├── graph.json │ │ ├── GRAPH_REPORT.md │ │ └── manifest.json │ ├── 2026-09-14 │ │ ├── .graphify_analysis.json │ │ ├── .graphify_labels.json │ │ ├── cost.json │ │ ├── graph.json │ │ ├── GRAPH_REPORT.md │ │ └── manifest.json │ ├── 2026-09-16 │ │ ├── .graphify_analysis.json │ │ ├── .graphify_labels.json │ │ ├── cost.json │ │ ├── graph.json │ │ ├── GRAPH_REPORT.md │ │ └── manifest.json │ ├── cache │ │ ├── ast │ │ │ └── v0.9.62-s3 │ │ │ ├── 00aea1c179c20548df2499948796faba373334997bfeddad9e335db138753cc5.json │ │ │ ├── 00afff188288984e240329931ac9e4273f5ab89be582e021e9edbdbead42ebfe.json │ │ │ ├── 0138bfeaa54b14916df0028a970de356913b83e8da2cd5cfc610361887baa9c2.json │ │ │ ├── 01d84090a3b22716edb63a5cf9c0a56cc94c0f5207cdbd5005843f858bbb292f.json │ │ │ ├── 01eb2378ec1b50eb9adf2efeee2c1b18bec9fdc7df91db2655076185e3e32721.json │ │ │ ├── 02a3519f5b471b7083c161d9d9c73ab5b0ee78cf7e2cc4d5be7c2542435aa58e.json │ │ │ ├── 039590a02c184d21a28caec4178b981a824ec4356a225d1ce546cc212d2f550f.json │ │ │ ├── 053337dddf6eb41ca0de06296d382047253aa08d9b91d61fe86923462c4e2dc8.json │ │ │ ├── 0571f3a7d38f1c019d2c0f1102e0444f8bd8fc429dbe5f7ba51774d3eda0fedc.json │ │ │ ├── 058b4e36240cd25d158647c300472baad5e7101ebde0319883abb0edc8c9c74d.json │ │ │ ├── 07e174cf218887aa0f8747199874faf6bc8af9347e43ff9b5a2073c089637f6f.json │ │ │ ├── 08ff4daae812563107028890c2ae7257bb5f9a376a978244c814b7a4c1d10a98.json │ │ │ ├── 091194a653ec9ff59e50d6d6121d12c0b0238b3f5cbb0467133a224b7eda59c8.json │ │ │ ├── 0aa59f78fa092e41298775a4db40136ea63654d45e3ae835903c4e3dbd0578d4.json │ │ │ ├── 0aafac1c4b289aeef9a6251e3a12fbf1710ae576dbd647d155aa3981008d50b7.json │ │ │ ├── 0c2c38fa53a0fe1da084703272dff1c8130732eb327a788d26ec0443c72d6b96.json │ │ │ ├── 0d276b031b1e68ce07a7e0620645994c4d80c88dbdeb4b49deba5e053ef188cb.json │ │ │ ├── 0d5f84af41009fdecae2a46d4ad5fab38a79c1a5dde262e9c7f8d35707a35092.json │ │ │ ├── 0ef31d053655ee64599a0246f26c8eb61f27654ae1ffbd41b87500438fc9b06a.json │ │ │ ├── 11d2b71feb1480622fb18ee3795cf070421b146e4273b5016fad81e7cc8e2c7e.json │ │ │ ├── 12db2ab20d1e0be8080b5edd6cc40cacfdff350dd585126a0e0ce144073ad12f.json │ │ │ ├── 12f95828a2c1818402459627e36481199020e31faa280d214f81700fb9ad520d.json │ │ │ ├── 1436cce90bf2f00f050c9eb67cddf5672ed6a3db185ef663c257ee7936b175ae.json │ │ │ ├── 143ae363276b4a1db64805529e618db71c204aa56bc8b54761693a9a2060336c.json │ │ │ ├── 15539048155c760644fc70dd1fbff3855ceedf11bc6ef7b270d1c7280cb4df48.json │ │ │ ├── 1619d65041f501eb2172113b207c505582df29a0e5bfc3c681d8ec075f0bcb56.json │ │ │ ├── 17ab5521ea572ea85443db030bd5085f1443c20b20da9cbf808f21ad695eb319.json │ │ │ ├── 18ba25713068baf53992eb4ea94f95212ecaeb931fdcf6769970fc2fd19b2f93.json │ │ │ ├── 19ed1276256eb4d44b9cea2dddac4de3801d67a08cf381a55466e82ee6f2bbc6.json │ │ │ ├── 1bfc839bf502b97d0b70b0bacc9781cae7511d27d078ed6ac6978fd438833dd1.json │ │ │ ├── 1d6b17be6b2c0e7d25b4622b4a8c09ab705cecf9db09e2f86c35a4a564485791.json │ │ │ ├── 1db075565e2fe1027675b7ee03d055150e6b741f3e9865bcd46d9a6113c538a8.json │ │ │ ├── 1e2dc326e510df1ed3d23fabdf289d6a9448275816a15bc94becafa5563de2c7.json │ │ │ ├── 1f440edc6feb5bf8c2a462b1b4a0b44bd22b4a763286fb2b340c797c282b5bcd.json │ │ │ ├── 1f6cfd55d13bc48aa6c68558090ceeaf24a54c7bec690d51d95243c904daf0a6.json │ │ │ ├── 1fabd63a56e826ff351d3edca222f5f958004c01f0bd16aed30080e8b13da33f.json │ │ │ ├── 21f38c2f6a379ab402b4d3bd1b0809129c8554ebb01202a160c42a1e9b49b717.json │ │ │ ├── 22534d744aadf9c9b61b908eccea0e9b3eaa30bc381bace54b3221ee0861a0ec.json │ │ │ ├── 22df765bbeaca09caaf2fbcddcdd3ef1d4c0800f0c545f963bd91e85c33fe7ec.json │ │ │ ├── 22e2f3678f112281b64af6f72a60ae03b15b47bbe45a17282e95d5fcf8b7c3c5.json │ │ │ ├── 2396802d9ca82a055f431939b4cd95eea6c29556956075d1d1ff35e4bca3b7c6.json │ │ │ ├── 244419b0eb45bd51409a2284de828aa5de674be78dd572f04c911b105a6c9ee7.json │ │ │ ├── 2609e627752bd20df923f6c69e090173a368757b3dbd2ce418e3cc9f67c697ba.json │ │ │ ├── 26c6832fa65fe38fa62f98bbfd8d544cf6a470cce547579e1d650390e8b9fded.json │ │ │ ├── 26e3b3874f2dc2c3709945e2f6cf050e5c525933de9f09a8c91b244e3bfa8ca7.json │ │ │ ├── 279274c19bf4156f8f924fa837acf99d1ed42d6d57ec7cd1af194fe3b12c07da.json │ │ │ ├── 28cefeff27c9cb5760aead796c37afdb1311bff0a5ff759136f0473ffa0152ff.json │ │ │ ├── 298888276da87757f59b0e0280ea46039c0ee05945961c3e00b287abcbc6a2f0.json │ │ │ ├── 2b7cc5d0dec7234082c1797ab637b916ac7df39277f8fbf109ae90190fc1e900.json │ │ │ ├── 2c8d91fbfca457646cf60edb03fd3a89a2494a6b6612087854edeac5a119739a.json │ │ │ ├── 2df1edd1fd32c467f237babe4a94f2ed73b67270ede6fa8298b32eab7c3eb80b.json │ │ │ ├── 2e219918c1c8880ae7c2e8bdd1c670a74327780e63d81ae4561475832eea2a37.json │ │ │ ├── 2fd5953e7926f320bdeac2d559967758aef4632bf7dfa26a5ee50ad386fc9b67.json │ │ │ ├── 3142f9d4517f137483c716dd61985811bbf006b85506791e9a2ee37d58b2f53e.json │ │ │ ├── 32a4505d16f4fd1efc5bc0c2ea7c8900419856b21a41b06d988cc424258ea1c9.json │ │ │ ├── 32c40d17e90ccf2511e124b4fcc5b3674a7200dd5215ee8742d319f8090b04ba.json │ │ │ ├── 33fc3acd587f6970b19f708df61db16a5256a1914954829e2c622dacb8026331.json │ │ │ ├── 345cea9e55c5f1954119121edf5ec28f1514b11d83de6c5bddf80d014bd98c94.json │ │ │ ├── 34b48eae711a65d522f81081262d437469f08182368d46643dc80eadd96bbdb5.json │ │ │ ├── 34cbb71eca44ad5849b04248e513e7cc33c3d3f1a1f66cc27f732666e585bf19.json │ │ │ ├── 36000938c9c3b13fbd92622f905f8c4f4bfbfdabe66e3357e88c162a4fb198ce.json │ │ │ ├── 360e95dd7f9428a51961a1f4ae7968a6e3101b8df00027432c6c743f64ccf9f8.json │ │ │ ├── 365fb94a688dcb602d723765e4b798e0631f6385cdd5fd410b083136521c1a3c.json │ │ │ ├── 367d8bf55d8d85048571009c40b04ef43211cc9c630af6222fc5db65fb382cc8.json │ │ │ ├── 36c68425778aff8c4320f570cc4e4ec8b3c40094abdeffc556f5488085c587e5.json │ │ │ ├── 3948717314f47afa835e760073df4764ac427f4858f5ec0ee6a2f298ac393d49.json │ │ │ ├── 3b878a979cc2ea2ac926f8a72f24dbef940bbaafdfbdc76679f4054a3ebf791a.json │ │ │ ├── 3b9252049dbf8ef67e64a756bb41325a6cf50190004d4442119d438620bacc72.json │ │ │ ├── 3c4a42b0b79b95acf81967479efdc4cd0a369e3b53b771fe87478d6327ddf0eb.json │ │ │ ├── 3cec8055583c7d94e03ced535376a8bd9d3d335cd6c7e328f38dc2a9e6b1e397.json │ │ │ ├── 3f0cad4a4a6eb440a2b133bf72f2e72d6e7ef3668f4c8dbc2c759dbd1a41eb6f.json │ │ │ ├── 408f6eb568e45e950fdc170776dabf9087829df0db630e16643fba8995318d26.json │ │ │ ├── 4177b5c9bcdd159b716f3e956852b337fc54e7e597b5631d0f0e9a4039011901.json │ │ │ ├── 42a296078b0eb6bea6dd15ebc5799c252901ba9e001290df5d3a9dfae0e4e4d5.json │ │ │ ├── 42ffbc76dd6afcd90fde30281453fcc765ed07bc0e729fae4eee28d86f840578.json │ │ │ ├── 433946952194be24247d30e4d5ba4d67b64ee2cda27a9212f16b4160a6f3fb71.json │ │ │ ├── 434bb9df51f8929ca10167ce360dbaa9d93fdbfbd27053bdf11f3b171189edb8.json │ │ │ ├── 478a054f8292cd197743a61b5e3e04487f67f8db76ae658a28b04e4aef670ab2.json │ │ │ ├── 479992e96c0c5fac0a00bd4d9e0822dd52273158f5364c26884649b017e5b874.json │ │ │ ├── 47fb67d01a9006c7f835ad87b75b95bb1365c27b342144f081d858e07fd309b3.json │ │ │ ├── 48f2dd332e3e37756440716095b3b0ba781ebd5abae50130c6b8bfee5a0468cd.json │ │ │ ├── 4993b53d428cbbb1e334ea396aae6397586a1295a35f39da038cfe72f0b89fd4.json │ │ │ ├── 4ae084687e4372e69f349e8bbc5cf603768a032d3d9ee4d2504e6709ed8ee440.json │ │ │ ├── 4ae419f04a3a3b1221faef43b8526910f1958336162fbce432bab0e596ef2aa1.json │ │ │ ├── 4bf46c6c0f27e14312f7c1311bca1bf5e1bfee29ea5cb35e6f94142141985d23.json │ │ │ ├── 4cf64fe0b79aec18c49355f7d82ab04ae66067042a6c364e89842109427ffb5d.json │ │ │ ├── 4e71fd2d8486dc3333b9dcdea79eb80552dc8db2aa07ef721173618dd4dfb8e2.json │ │ │ ├── 4f4799a971a5d6701087428e8c709396c0d947f7ce5bcf7a048cd542d5551c57.json │ │ │ ├── 4fd59b7f74524c4eb0b9293df963b8aa007039c53e88fef4ca2bd9b61197a114.json │ │ │ ├── 508a0054ec5c5b3353e94566a0f728d533ec47721e20e6037aa55e2d665a5143.json │ │ │ ├── 52cd74ad5803b940489587043429b741434ae931fa4d244f5b0dc53582cee050.json │ │ │ ├── 5323b09e3c325ba8c161f5e2cab233b25cfa1b96ff042c6ae79ae1b029e2b1bc.json │ │ │ ├── 57bc96866536f0d67300ed29e56bd0f45fa9119c787fac805f228adcab18dc6f.json │ │ │ ├── 582c91a8ddabbea5521fc65d724e4fb3672c070f9213fae7b58595fcf62f3c85.json │ │ │ ├── 596a13e9b322f8c3332a3ae214ca7bf368ba6158ff3adcc7db4582f102ea51dc.json │ │ │ ├── 5a34ded8b2dd4c10c4251d287580918b88690c7058dd2299d2d670170104241d.json │ │ │ ├── 5cb59d9c1e81aa29d98ffc905bee257072403820c1612faa5513af553ce9af07.json │ │ │ ├── 5d43f2c9afc3451745d2a1b5f1ed17bc138c9b19caff61beadbc40a4e970b525.json │ │ │ ├── 5f945cb173f2e6eea3ee99955caddb779d2910ca41a82c20e12965b94528a15c.json │ │ │ ├── 5fcd0fdc47a301cbd07130dfa7545017b5975c29b9d7458ec65938ed503506a6.json │ │ │ ├── 60ef2d6fded9e070e35cfed119e8325010aa76bce63aa74ca0f25005d8ed9517.json │ │ │ ├── 62dab578f0debe93a8df61a1776953980abd254ae6f1eea77afb00dfefd28f15.json │ │ │ ├── 62e55882d2ce81dcfe5df1d58395e767ded55d6e39997d82cc3489c5e02ae910.json │ │ │ ├── 62fba7c993ca0a10198cab8e5a7538f39f88c00face1d324cbf4613effb5ee1b.json │ │ │ ├── 63a85c116feeb64b68cb48c92e34e48a89fc4ed443f40594b62751711b6e13e0.json │ │ │ ├── 63d01f1af1f4f0c9ad42a8c4d310a5b9df5547d5526c49284255fc6ff15ace9b.json │ │ │ ├── 6506009802a6a268be82b680ace7580613f18dc702ed27aaff929398a85760f3.json │ │ │ ├── 65c9b0921f2ad9b0228f5685c40d5b341da9604f8cec59339fded4cf0bfa40f4.json │ │ │ ├── 6802a4e7d920a2a5ce48a61989565f6fa769c314a01b9179cb9d44653b9467ae.json │ │ │ ├── 682101a547823a97feec07270aac7a9176109731e376f49d3429fe01db3e8719.json │ │ │ ├── 696bb846cc6a3735e085b502a1008e270903c81c7a7adcc7676abcf1930e926a.json │ │ │ ├── 6b88758a380fd9aba4793825f7a8296a9fc2bd40ddb5b423e330c8472c1b030f.json │ │ │ ├── 6bd49215f8d2739a9e365dcc8855b95cfa34352c067a9e9ff48a623318c4ddaa.json │ │ │ ├── 6c3fed09db545f5c9fe4ed1820b386f74deceb2f52e16b6d88181f36dcd09591.json │ │ │ ├── 6c69494ba124d4bc564bcd3a3df1f33ae0ee0769001a2dfc46825ef8b44dc3e2.json │ │ │ ├── 6c983917b91998d7130b467295146438ee4a631519fb7c54b582340f90bfc7e6.json │ │ │ ├── 6d3b094dc56f9b26ce7374ba28e460b85248711223cf516f8e732c5d8f4d9d75.json │ │ │ ├── 6ee9154979fb497a8ec229a7177660af53a487e1aa17c7b555cdc67797615162.json │ │ │ ├── 7093cbd0a855750457814388b6e527fd3b612163f7a2b898ed6ce470dae74843.json │ │ │ ├── 72de23f55766289c980e6ccf604ca5d162e0989a222271b7496775ba4d749e3a.json │ │ │ ├── 74c2a0c0f83087673b100b7555e506c71d2a6a941677e388a1de59371b6d9afe.json │ │ │ ├── 75fad6124616f6d9e50ce9a475d4e989955c5fae7c5566b99992d986ef9a1f93.json │ │ │ ├── 77916c3b035a577b24da1a1dbcf47db7307af4e0774fecc549f7c95b91994a20.json │ │ │ ├── 77f3cfc32bc9234033fcc789ff327a4a98809057bd34d1539b7f2883ccf74ab3.json │ │ │ ├── 7817261e311bc9c5a0405245bad6d0f942a41193646a3d1112bb4b9fed70c08a.json │ │ │ ├── 79ede3c31ce20a16af1a767ed248e4a7840803b6d34cf90f1205aa36f3acd7be.json │ │ │ ├── 7a886aec3fe4d432060a7ad6c88a9e0fd810a122ad1d244456af089a828af8c1.json │ │ │ ├── 7b25ccdfeab6d57509c1b8a9745fb601ab7e8fcae0e73a22932ceb725fd38c9a.json │ │ │ ├── 7b6916f499ae0ceae3eb3d509b51f42a7eaa98e43e161fe87c44b9a5bb01287b.json │ │ │ ├── 7cd278b7ea82af8777e4da2f84fd1773dae3dd371744f66bbe12c0b925fd6486.json │ │ │ ├── 7d004a8b515e202f3f48d5c3038f29e5562543bafdef7607cf35b22dae6fa1fd.json │ │ │ ├── 7d276789b80c8d9d1677556b3fb33b2da05988e97f6bf28903a044bb9fd64894.json │ │ │ ├── 7e136779a95d8e8e2ac6cad2192890254fd0d54d46b4f5514debba0f22618d75.json │ │ │ ├── 7e1c0a38a3ed90205d1829bdef528887ef12c928d4da797e06a79b3e7a1a92ba.json │ │ │ ├── 7fa9734f0b6c5bbde268cb55ce9ba5016e9fd7162daaa665ed305a2d7e999bbe.json │ │ │ ├── 80468d8a995fb4092dfe5e57e25592c06713287d48367b675ae4d00955d4b25f.json │ │ │ ├── 806a3b07b690ca3871b1854aaff6f9042e48cf7aaa9bb9b6f15ab9634eae3b37.json │ │ │ ├── 80f142842848c4420eeec86959e77c24566467dbece6a275dd9c6da15f98551c.json │ │ │ ├── 81d5fbc2e91118aac67b18de1ab980f4dd81c8f7804a195e30017626db220ce8.json │ │ │ ├── 82fcc152dd67510406aa894d1e38939bac365093de9f34db4dfe2485806fda4f.json │ │ │ ├── 833fb89a8d72afc195b8f5bd7338109d8ce7be79f240dac31c4dcd36c8c674f6.json │ │ │ ├── 84579b3014e1a83e4201862df1e93378f5f953fbb547fea30965e335be5e7b1e.json │ │ │ ├── 84dedd4165eed360c4051690b2aa84f6ecc08f3f053f4129ca6f3e33c334ba35.json │ │ │ ├── 853fba8af82971f4fa56d957282d45d335d2e794f8e11001977161265af2ec79.json │ │ │ ├── 88ade181c6611ec33d9bcf5fe739dc809d81875b6571b9f60f87dafb4f5941b2.json │ │ │ ├── 899b16856382d32c4e5b39d02cb251bdedaf35c5a81bede5c19bfaff092208e9.json │ │ │ ├── 8d4849ca8361bd159ec0aeb98091c413998455ca036cfa43f0cf63a6912f8955.json │ │ │ ├── 8e216def3e5fce2d7f4db160b9bc86433bdb5f0638be1367af2ab095d06571b6.json │ │ │ ├── 9137c44b276781b18d9e969742f438877770ff9e8a662611892eed8fc16d93c2.json │ │ │ ├── 91d83c62f39f219ccb6125502bf8e0a71a587dfc0a66d977a9bb93c8f2dc5dc6.json │ │ │ ├── 9326d87e36b2dc24e6173aa3346f46e7df9fc3353fdb409304af4363c286a41e.json │ │ │ ├── 9697c37cf3a88d2b4eb5419b2381951a9aca966172316db79e7b4c32557d5e87.json │ │ │ ├── 97506546de142970349e57e8a14064280e66a4fcdbced5dac55fc263630a2247.json │ │ │ ├── 97d8ebb860cbcd63be9ef80c6e2094e4a7ccba668b291d3c4815133d5fb8f37e.json │ │ │ ├── 980f1be05d605b9093619724462c9881a8be063a5439567866172a35f8d22316.json │ │ │ ├── 9931a5b7d7ab58794d003cce1d0719c201c623a844c7f834f66c88e9390c824e.json │ │ │ ├── 996411678d23c3cf8a0e6c1c5076701e8bf5f3dad21ca907ec4116d15366a668.json │ │ │ ├── 99f94b7b3b60f627c482cc195709b98cd2faa55f14c19c4bf5e0af8a88f34b7a.json │ │ │ ├── 9b267b0c45b93cecc1294ca1e040e5a18fdc9e0bee69a0ca8571ee11becdee97.json │ │ │ ├── 9b8bd2aff50e08b6f053b74a409c9439db41e692e29aabca5b67057884d945af.json │ │ │ ├── 9ce16f69c6b04f703adb24ec7498a2d2ecbf6f7524c459deb25111247e550698.json │ │ │ ├── 9d0e2a1fb14529aabd31c82c8d8f5543c0068366932934038ba93e234f291e22.json │ │ │ ├── 9ed5e291859abba38b07725bc6cf0275a1548e937888a5ba177674afaa48b96f.json │ │ │ ├── 9edcaa74bc64450dff4e25af0b02a830bf940c608b2cfaf74092a2d830f8b07d.json │ │ │ ├── 9ef0e904ba6d1b295c75a1d5741851f571339a8e22c7de96bf5e2508f764ee43.json │ │ │ ├── a04a8ed5ca0ac9661dda4f6f369248937cf67e61cc982a1f17b24495263d53d6.json │ │ │ ├── a081526ffd8f52690e0834cc71e9d2bf987f949c2d0de68a6eb024063d97e64b.json │ │ │ ├── a09e24d5cfcfe359ea13c37261c18e592629a9aeb827faa609ccef4fe7b6a243.json │ │ │ ├── a1bd5a32741129c967a18413ae1be6bf3e20754251066d342d652a668ef95025.json │ │ │ ├── a3c770875ffabc18c595532501255df82b1a09246ee54b831e7c2221932d4f88.json │ │ │ ├── a3f339fe1ccb99a051c1a3bff70e7de0e2ee6b952db0aa2d6739e97331c29cd9.json │ │ │ ├── a4a27e7b3842713c361895d6d9c5fc9e4341cce71c5842f014748e1c1c23a197.json │ │ │ ├── a5231d68fe35e6b02ff4ff70e02a3229c08d9b6c2bae774a1b3227823b95e15a.json │ │ │ ├── a5c3aedceeab625bb2f60c9e97163491579353e685d8b230342a4e3e30f00db6.json │ │ │ ├── a614593a975a3af1612ede797f69fd29220ee9251ab016d34d5e612a04696ce9.json │ │ │ ├── a6840d352ec8910ac57e79b51062d6da1cd3b277dd849073eb9c3745fafd3635.json │ │ │ ├── a7729f0b6bf20ded62ff7b6ee678fdaae9516dcd80c2a8f9e9f3d9299f6e22a0.json │ │ │ ├── a7b036e5bd51876694ebd883bd1b0a527c5f8409b48d4716612311e954a8cc0f.json │ │ │ ├── a8274003d8d4ef62b23c66e3baecf14eea260f99a4509411d58506f560c2b474.json │ │ │ ├── a93b84a0def4d2e0e97ff35032871b0ce64786ff468912aed21fd958b9fe782b.json │ │ │ ├── ab1648cc3b4d4bba5754e19eeb80ea160fd20207d5530ac371647168f9ed211a.json │ │ │ ├── ac454f6bfed5913148eb8c9caaa0e30f99bac381936b44612bdee8274bb27b29.json │ │ │ ├── ad1175b041ab42a2615856a41fbab394ae63ef9dd991901c0658c3fb0846ad3f.json │ │ │ ├── aeb59c5e1447023f9c49003f6bf4eb26a7b9a34ca5658f7ba2cde1b99e25ec76.json │ │ │ ├── aee78d4e87210ef46180d47e7015345bd66a7763cd140d84cd86539e720e8e67.json │ │ │ ├── af2a54bee158552858e4c0220e207ddc814460a4db1126ec08ba3dd799624e0a.json │ │ │ ├── b390f7bae9f80c48e703a6664d9de6ec9c141cdf8ac2f012d67ac2b4d8a25b4e.json │ │ │ ├── b4446ca11a1f4f6ea45256e755ed56d6ba7c330278e15ead8cae2de28d5e18d8.json │ │ │ ├── b5f9055685d5b38a3dc351cad310f1a36783f0713c3f0621681fdb43bbf90311.json │ │ │ ├── b6e731246dc10854a0fa0455c3c5816e29887b1a8c436d518926e1c2a5e36239.json │ │ │ ├── b922fd1a31f3cf602f197c872f3bac6e69c79255e502ddcbf1626f846ec3baee.json │ │ │ ├── bb3d09cc5d1bc380e841e2eb19cb497391117101c73c358e6db03db4d6ae51e7.json │ │ │ ├── be6cc64f9c2a8edbdbbd10a1a31e3b3a746eb4bddf806c71d525eff5719b9217.json │ │ │ ├── c1060dca2a3f437f386324975be659215fe9f7e689137dc85e823879b462d11f.json │ │ │ ├── c10793a36312ddf2bd8ed9edbae5d67a19f54b78ac3cae01682d38c34f2bdf11.json │ │ │ ├── c12ef179e0f1696b651a9fc423a169905160de3634d480aedf6071f85a1ebb4f.json │ │ │ ├── c199fcf03e3df0de15c0e7fa5f89fbd9649f2be4a257c8de9a7ebc69ce0d629a.json │ │ │ ├── c1a36d35264d786572e00bd20a4d62c18000e4a5a744b4bbd585c66ba2b1afa4.json │ │ │ ├── c251d835538bf3c08a96268c8b1feaae8084a9c298d634ce2f2ee3b4b15188ce.json │ │ │ ├── c4878d8d8ae19e705821ae40afc1ede4be1a64b559dfdf89f898cb4383718c93.json │ │ │ ├── c6b29929825f59e03fe10ecfc6ab1c0e06594ca745b0b16bddfdbf5b69d3a32f.json │ │ │ ├── c6d29b81d6bbf9e14c7bd3b189339b57188658ed2a270f6ba09e5b3ce071b3c1.json │ │ │ ├── c9e9e63d70bf1ece48f627973df4a1abfd081787641e80a93f1734f30535fd99.json │ │ │ ├── ca42945436e914d9530e20dc780794451ec6ab51e17414e8c9107ccad3125fd5.json │ │ │ ├── ca8e9d2e76f32d42a0da88c9477956b47dca6cdb27504d8d126e0075306eae98.json │ │ │ ├── caac8d56f4ba7b3987d86c31357c6ffd2c4125d16e4637cb5a4568ac6eee29de.json │ │ │ ├── cab9c3edc4d8c5269c4e14324ef0f6146385bad5e4403cc989acc30c402a7409.json │ │ │ ├── cb87cd70f59a8e0950529ae42a2229a259ff8b305e4319422fb1a9dbc41e63e2.json │ │ │ ├── ccd15ad60b63cd29e2bd2762133a74e2047a2894fd67206dff7f7c7fd082b399.json │ │ │ ├── cd4804092002a20d5ed88c32b577b0868a0ef39e518c749dbadec455775917fb.json │ │ │ ├── ce52c1ffbf8db0d0b4ba85e0a07055258a8eb179db097f1df874e5be81aae49c.json │ │ │ ├── cec4a3cdbea8fa16c18e49426a9cc3be455cbc93cd715159c8b5b4232085f088.json │ │ │ ├── d083dc75811629ffa77ea30c1965e67ef3bc2bf65e5b20a1a35cb0f80a46949c.json │ │ │ ├── d114d2e42d000a18e9502fcb48c3c2bf04f4a6e2de34af8f951279b16a2f3784.json │ │ │ ├── d188f9185e71f8910607d275d82fea22199ba0e6009a5b1e34e5a20f041f0d71.json │ │ │ ├── d2513d4f5ff7e6088864ff497613f47d4083c1ca378649a3f1db6d45a3f3fb2b.json │ │ │ ├── d26a8fc663e9e5fcf33c87592f8c0456e7fe9ec3390bcb902631144d455c2922.json │ │ │ ├── d55e8987ca5ff35748b62290dc14150b1df53163c6f5a5cbe19d03058368f1c6.json │ │ │ ├── d561ececcdd4e7ff59595389fa499591f4e7f3c5324a58dbdd749ccf29e90cd1.json │ │ │ ├── d5dec4474de6c46020e987f20aa3fe54c9bb9c6726a067a75ed94091d552b87f.json │ │ │ ├── d87c7664bacda28563f3f367221789264d43fb4a53abe3afc5692f77c75c6d98.json │ │ │ ├── d8cda86cbe3f42bb98bb0097071d95924950dfc6ed65a7075d3b22ff1ae0bf0b.json │ │ │ ├── d9516c3232e0f78225764bf4f9586c88932df925c45de71f4eb1c883a9ed5b5d.json │ │ │ ├── d9c81db9cf9f2fee8a4985367d33b1c0ab1d7e6901e85473070c3bfd6bfe32c6.json │ │ │ ├── daa187dac6877c746c02269141a7e7db178ac32a0b3a4bfeaaa8ed046b6dcffb.json │ │ │ ├── dc90ac5e8d6766f8001bc2a40d21c203717d7a9f469956c2f6d9bedf3ae51aea.json │ │ │ ├── dd795078450fe69f61a445d3cf1275420be57381b005597cb5003859b2025800.json │ │ │ ├── de1655ae1d42e56f0cdb8788c0f6ba1c7c6e6725e6ef5e80969b92ec3e68ac78.json │ │ │ ├── df2d803fc69084e91df819bda27a7e9f7303a40ff7a5d30d93fbc16daf5e2d45.json │ │ │ ├── df8f2619ccef593ab5bc5a019792f194699a9f3014968288bb01d7773ee3a8cc.json │ │ │ ├── dfc9279b0d9023afc1dbe55536fc1cd7a556a6a437775128b9e41615431b4733.json │ │ │ ├── e2f4f5c0bcb971ba3cb08a4ba14ed5d1ba6b5899fd36db1f5dcdbd2313cd318e.json │ │ │ ├── e359eb0e19f76b69decc0ec747a7fb4c9843046bda31c5e45841858e01bcb5a7.json │ │ │ ├── e42f6a96ad8938a6ab248b342feca7ec6ecf2a734d25141f62dbc9a6c52ecf6b.json │ │ │ ├── e43b7eb1fd2770d280dedb21e9a453279f3aa8262b2a0409fffe8fa9f7016880.json │ │ │ ├── e53a0dfeecd1b547e38896f8e7920e6801d84dbf61bb4513541892d44d42ae99.json │ │ │ ├── e6b4123e64b20d577378853fe71efb3743dbe9aff24ca06067b4a2c1c2efc53c.json │ │ │ ├── e7c0ad70ad7e7f3a1f6f35e55f4cf87f6c0850abc63de71a418e81b88ec826b7.json │ │ │ ├── e810aa586fa2e56d1c31e6940e0e10616ee52ab4bf328e928e0beabfcecd8fb1.json │ │ │ ├── e831be2a985dcf2094a014d182ea02e4ee10b94fbd35b44e3c69a98a7acb3451.json │ │ │ ├── e8f3b285df9ff4d30c78eb1eded3eefdd86cfe325a7c8c29fb8457b6dde5e712.json │ │ │ ├── e90aa709aa08fcf3294352b588ce8c8c902f3ef59a503d4b8d9a292a9c478096.json │ │ │ ├── e974cd0006d8160a6ef1316083bac9e699adfd87acc7edb404ae7eba1c799b68.json │ │ │ ├── ea56445d1314587e18b1992d9599da03e1419ea7bc4929854b9039d6947de33b.json │ │ │ ├── eb1dd65efa5a99811ccca80ff03a73cb155ad86d13635010a44c09c13953604d.json │ │ │ ├── eb782e7a5b5695997a5bf628a22f4d36f5ddb886e5bdf4b2f4ae53ecc46fbca1.json │ │ │ ├── ec7939ed122c473ca1a4eee50f1c564e04e95ddced18cca56ed83efe5d4071dd.json │ │ │ ├── ee19f3245c11f658fb60d32050a8bc4864ea289071ff5f829717ecacbac1d3e4.json │ │ │ ├── ee89093aa638ec9d38b76ba7adb66c8424d941d79deba2913d3d7085c1a062f7.json │ │ │ ├── f06f026d4fb736e9628a73bfaa9ccfe00efc006be79cb1c27f4a77ede5874f52.json │ │ │ ├── f12416bacd2eea21842fe89fcfc2c02ffe84619d7ce380d13679b64c6ec7496d.json │ │ │ ├── f2069429b170b19df531b051a2f5fa81854a7bedf1a036aab1a46c89a9ba4c92.json │ │ │ ├── f2287c55ccdc0e5e9ab12f79895b1a1f46b65b2d14f70915ceb09adfc624e3b8.json │ │ │ ├── f3b514e12a39c61de0788da629a34cdd1359c17ebf1ff20747c7be245326f68e.json │ │ │ ├── f41de3fc65a6805cd39a47d713e1d224ba3c4eff476f0aeaf95b5e9b44cbc7ed.json │ │ │ ├── f4436ad45c3f2a27b4461333ae2ed21af157a3945e152fca7f43d640dc39f63b.json │ │ │ ├── f576af4a0cecb6cbaaf8afe5097913be0b7071e200fc924c918ea93446f00c91.json │ │ │ ├── f8769e3eeb23aebc01d72869a2bc6e635d7dc82440bc2b0b0e11e6b6b17f5109.json │ │ │ ├── f8fc55a028176d1ea9a1b580a8653d4c45ae7466445f37e6c23867f12821c44c.json │ │ │ ├── f9a8e68335360a72fdc96c97c3570febcdea593cf9987e3e92b769107524c4e8.json │ │ │ ├── fb9736a4ef3aca74573f131c7cbd9f015d88dd755ffba3edd324aec95149175f.json │ │ │ ├── fde577f1231f9b033560bfe075896efc6bf8d6079a030a159035584c7d39843b.json │ │ │ ├── fe032050843e4e1c28f5712205df74fa1698390169658c4ddc4555b6bcce8872.json │ │ │ ├── fe0c3eed2ff5c4b5d2116aba4494d599ae3c27004136e99f5d455f351281fa78.json │ │ │ ├── fe77fbd662d91d04f2efc69788d30e9859584c8d87d1fabd60ca66661568091e.json │ │ │ ├── fe93d0fb278c013183276f7bf5c5e2d0e62fe9c75f6695390f5994ec0b9c8dec.json │ │ │ └── ff809a93fdef0b7b8896c56bc9048369340da05981fc0435be179cfe930e7e4c.json │ │ ├── semantic │ │ │ └── pa567fc138e3a │ │ │ ├── 00825b46909baea25186d0f8351fc2c3fae63520319b5e7bede4ed3e9f53e54d.json │ │ │ ├── 09f927cff0791d0e91365f50b4dba1a6c8cc0496ef70847d2ba9f1726092d00c.json │ │ │ ├── 1753a19b402251a9e18e9c4113a5f1750a4168e9b0bedb06b4d6f35f2aa5980c.json │ │ │ ├── 195617b9b33d83896a4ffa16edb1d849e0da5cb7a1aa2b64d82d1bafed070f80.json │ │ │ ├── 1e1ba446fa646a9dbd2244d5138ad84e217e8f238f2508603cfe4c290423dde8.json │ │ │ ├── 1f916be2dc79752fb2aa8e0c386470f43cc983c9021de885b62ca962ffea960f.json │ │ │ ├── 2233df96365dd9e332d4744056d02289ae3a003a6fb8f3342a205860e03f8665.json │ │ │ ├── 22569dac279084bd62c922dbc391f9a5a7cc2e1051ef043bde5cfc72df0ad864.json │ │ │ ├── 23f032018f0612c58670d22539577856b5479f6107878d558e5e062bac9da30b.json │ │ │ ├── 28f2ce9d1005a70b7f624b04888ce9c511251d8da243d6c1c57a630eb14c1220.json │ │ │ ├── 29a4f053d88deb1406e9e7fd20dac4fc1a3c518382af3adcb25fc0d6415e6c31.json │ │ │ ├── 2b0ca95b4d2205396255ef9ad6880126d69de168f4349406796caf7cee711791.json │ │ │ ├── 3451c7089bb943a2571e2fd451467aa5e18fc642a64edaee34380e7b59f54baa.json │ │ │ ├── 379031c1044f245cdf1ded7504608f5861a11d5110845436678be4e121251062.json │ │ │ ├── 481e0ef213e9eb7ac3679e2fdf54cfe7bafde152b3de57b0c9306416529ab904.json │ │ │ ├── 485a9d1cf66322f5cb2886aac1f388a2846aba6fd444b87b251edb03c51ff00a.json │ │ │ ├── 57240e5b1ee2390b9f26b44f11253b97b1c6b279affdedc34cbeeadc74181504.json │ │ │ ├── 660dafe22e562cecf6aaf4afdf658996dd024a1436c57e9815c82caa0c3e1782.json │ │ │ ├── 697c16d4c7fadca75d73c67dcfea3aefc8c3b91394718b1d09188e7e41d8811a.json │ │ │ ├── 6d5ac5656791048028b6bec9a94588cede8731bd7ca2151f13f7819e2819f2e7.json │ │ │ ├── 7322f205d129029de2b4bb0be04fc6de2798fa17122738ae5d5f300e66ee5409.json │ │ │ ├── 77b69c31898165440ab0d856d50bbe29495f04c804d5ca4104be340e0ed39cc7.json │ │ │ ├── 78aa9c4767c326ca3364fd87dfabda624b9bdeb9a14dfc7b678d0bcd9c00e6f7.json │ │ │ ├── 8042771a592072bef73f5634ecc39cd2b83ba3d808e806a69bacde795ff1d2dc.json │ │ │ ├── 80cbf2282ae0d907d07bf110760fa70e985fa748f41bcc90533f6ff46eaf46c9.json │ │ │ ├── 853a41742ac5792c2f6d6762d095b7170499a35c16efaa4fa567ee936b4ccb3c.json │ │ │ ├── 87083d9b896625e7efbbfda3a8b4c0983a3914779adc1a9f1fd4775200a98843.json │ │ │ ├── 8a7c3cffb298a6af2f6f497e70513330244117b87649ee61c964461dbcaa05e8.json │ │ │ ├── 8e62122fceb99e49a7dd46a86cc46cbe3218cd86773d310fe15135a6ad4d6998.json │ │ │ ├── 9281775c35930ece9d1382446b2e7d54cb3ec777fbc045ce46cdce5287f589d9.json │ │ │ ├── 95dc06be19ee8e1bbc725384f6e55bbafaab3b6c9f8deea714356fbd0669545a.json │ │ │ ├── a7b56fb6165dabba4d71f0757463855dfca3d85741975d62820b05abee14890f.json │ │ │ ├── b631ef1705c4bbcc263ee039213e6929538d85401b648d0a675849fbeb60db11.json │ │ │ ├── bc16443a4c12a2ca6a8a74c6378c2f66b27425fd52be8ca5c938c2141c886a53.json │ │ │ ├── ca98ecfba0b2ad600c63c4f743e41528e2add0a2b48774b065aa0f60dcd905e3.json │ │ │ ├── e00a1732e6e7df91a7aabb9bd609e2a5985d5cf7215635cde4a7495a0112efec.json │ │ │ ├── e10d4f4e825fa6fd025ab71d55be4304798b707016c9b0b0f6cc0da6589a8435.json │ │ │ ├── e3fb6d5f912be572c627f840a143729a58015403907a2616b32d3ebbe9933763.json │ │ │ ├── e5f6e9aa1524a7e8c45c4ba6043bbf5798a8f8bec760ed991d69359cd416a08c.json │ │ │ └── ec9174249dd1b030999fd9c188e1713659650afd92dbe8fcd7a1f29666023a81.json │ │ ├── last_query_stamp │ │ └── stat-index.json │ ├── memory │ │ ├── query_20260905_170246_63845aa1_افزودن_استان_و_شهر_قابل_جستجو_به_پروفایل_مشتری_و_ف.md │ │ ├── query_20260906_045047_18cd50cb_بهبود_ui_ux_پنل_کارشناسان_و_رفع_active_نشدن_لینک_ه.md │ │ ├── query_20260906_051057_e5dbb774_professional_high_contrast_typography_filters_meta.md │ │ ├── query_20260906_104407_a2b8e7e3_staff_customer_directory_with_name_mobile_search.md │ │ ├── query_20260906_105257_8eb55f7c_professional_responsive_ui_ux_redesign_for_the_sta.md │ │ ├── query_20260906_105823_f78ba220_why_did_frontend_css_require_ctrl_f5_after_every_c.md │ │ ├── query_20260906_111126_ebdc56bf_fix_staff_avatar_upload_in_django_admin_and_displa.md │ │ ├── query_20260906_112825_ea391369_replace_the_project_wide_sms_implementation_with_t.md │ │ ├── query_20260907_122020_4b046e4e_why_does_staff_ticket_polling_return_stale_changed.md │ │ ├── query_20260907_123737_6134b5c8_آیا_با_هر_پاسخ_کارشناس_پیامک_برای_مشتری_ارسال_می_ش.md │ │ ├── query_20260908_073243_f5d33807_graphify_build_full_py_برای_چه_بود__آیا_دیگر_بهش_ن.md │ │ ├── query_20260908_080123_0dda7692_در_میزکار_staff_تیکت_های_قابل_اقدام_بر_اساس_جدیدتر.md │ │ ├── query_20260908_144036_ded077cf_صفحات_staff_contacts_و_sms_templates_خطای_403_دارن.md │ │ ├── query_20260908_150032_76389667_بازطراحی_ui_صفحات_staff_و_ادغام_customers_و_contac.md │ │ ├── query_20260908_150749_7f7a3ef0_آیا_workerهای_sms_و_bale_در_حال_اجرا_هستند.md │ │ ├── query_20260908_155640_736abe4d_بررسی_و_تکمیل_مرحله_به_مرحله_شکاف_های_سامانه_جامع.md │ │ ├── query_20260909_035506_5355f42d_لطفا_تغییرات_عنوان_و_header_دیتابیس_محور__حذف_متن.md │ │ ├── query_20260909_050053_deff48c3_در_صفحه_login_متن_بخش_auth_intro__زیرعنوان_درخواست.md │ │ ├── query_20260909_050734_e5645542_متن_امضای_توسعه_دهنده_در_پایین_sidebar_پنل_staff_ج.md │ │ ├── query_20260909_052451_568b2e38_متون_staff_login_و_صفحه_tickets_از_دیتابیس_مدیریت.md │ │ ├── query_20260909_161708_1f0b7523_اصلاح_معماری_دسترسی_واحد_سازمانی_نقش_permission_و.md │ │ ├── query_20260909_164343_d087dac1_چرا_در_صفحه_tickets_new_با_تغییر_واحد_کارشناسان_آن.md │ │ ├── query_20260909_170048_f114f91f_چرا_تغییر_واحد_در_ui_فورا__خطای_دریافت_کارشناسان_م.md │ │ ├── query_20260910_053611_613a8cc4_qa_role_organization_unit_permission_scope_workflo.md │ │ ├── query_20260910_060824_3faac489_in__tickets_new__place_unit_and_category_side_by_s.md │ │ ├── query_20260910_064145_f562e795_برای_واحدهای_فروش_و_مالی_حسابداری_دسته_بندی_های_مش.md │ │ ├── query_20260910_065345_ff4c3175_جستجوی_دسته_بندی_های__tickets_new_search_را_حرفه_ا.md │ │ ├── query_20260910_075602_ae6c7fbd_production_deployment_with_coolify__external_postg.md │ │ ├── query_20260910_125054_05ced73b_create_a_production_seed_from_the_current_sqlite_d.md │ │ ├── query_20260910_134049_86119b32_تبدیل_from_python_3_11_slim_as_builder_به_from_pyt.md │ │ ├── query_20260910_140232_c05525c7_علت_خطای_postgresql_name_or_service_not_known_در_ا.md │ │ ├── query_20260911_083025_6392fd14_شبکه_external_با_نام_coolify_را_در_docker_compose.md │ │ ├── query_20260911_085318_37a0a65e_در_deployable_docker_compose_و_تصویر_تنظیمات_cooli.md │ │ ├── query_20260911_090701_a5c9c0ec_اصلاحات_routing_فایل_های_static_و_اجرای_یک_باره_se.md │ │ ├── query_20260911_093724_97fb1f0a_بازهم_مشکل_حل_نشد__لطفا_بررسی_دقیق_تری_انجام_بده_ا.md │ │ ├── query_20260911_095201_b5c43bde_ناموفق_بود.md │ │ ├── query_20260911_095829_124db60a_deployable_docker_compose_in_coolify.md │ │ ├── query_20260911_100145_f7600109_آیا_استفاده_از_labels_در_git_based_docker_compose.md │ │ ├── query_20260911_102142_fb30dba3_ارزیابی_پیشنهاد_unhealthy_و_reverse_proxy_کردن_dja.md │ │ ├── query_20260911_102916_548d68f4_چرا_nginx_در_coolify_برای_healthz_و_static_پاسخ_40.md │ │ ├── query_20260911_143307_b8e47560_صف_عمومی_هر_واحد__جداسازی_پیام_های_staff__redirect.md │ │ ├── query_20260912_052547_361db71f_در_پیامک_تیکت_های_ایجادشده_توسط_staff_و_ارسال_گروه.md │ │ ├── query_20260912_090237_9dcd72d5_چرا_مدیر_کل_در__staff_contacts__خطای_500_می_گیرد_و.md │ │ ├── query_20260913_163601_80a69700_بهبود_ui_ویرایش_عضویت_مخاطب_در_گروه_ها_و_افزودن_آپ.md │ │ ├── query_20260913_171403_c1a197d5_افزودن_chat_id_بله_و_سه_شماره_سرپرست_به_هر_واحد__ا.md │ │ ├── query_20260913_171644_3abcf227_اگر_شناسه_گروه_بله_و_هر_سه_شماره_سرپرست_واحد_خالی.md │ │ ├── query_20260915_053301_10c27f6c_افزودن_حل_گروهی_تیکت_ها__نمایش_وابستگی_ارسال_گروهی.md │ │ ├── query_20260915_055234_c1041465_افزودن_شماره_همراه_سرپرست_چهارم_و_انتقال_متن_پیامک.md │ │ ├── query_20260915_055928_a33fed39_آیا_خالی_بودن_first_name_last_name_یا_سایر_فیلدهای.md │ │ ├── query_20260915_061852_8e9d4243_اصلاح_mobile_first_پنل_ثبت_اقدام_و_مینیمال_کردن_پی.md │ │ ├── query_20260915_083455_5d9d8069_فقط_تیکت_ثبت_شده_توسط_مشتری_باید_پیامک_اطلاع_رسانی.md │ │ ├── query_20260916_065746_6a844b76_صفحه_جزئیات_تیکت_staff__وضعیت_دقیق_پیامک_مشتری__تض.md │ │ ├── query_20260916_100236_c99a09d8_retry_behavior_for_sms_created_from__staff_tickets.md │ │ ├── query_20260916_104448_13a076e4_یک_retry_خودکار_کنترل_شده_فقط_برای_عدم_تحویل_قطعی.md │ │ ├── query_20260916_111348_12184b5e_دنبال_کدهای_خطا_سامانه_0098sms_بگرد_در_source_کد_ا.md │ │ ├── query_20260917_060706_47ef388c_اصلاح_رابط_موبایل_صفحه_جزئیات_تیکت_کارشناس_و_magic.md │ │ ├── query_20260917_063554_1824eb56_پس_از_باز_شدن_کیبورد_موبایل__کادر_نوشتن_پاسخ_تیکت.md │ │ └── query_20260923_131543_e5730a0b_how_do_staff_ticket_sms_status__failed_delivery__a.md │ ├── reflections │ │ └── LESSONS.md │ ├── .graphify_analysis.json │ ├── .graphify_ast.json │ ├── .graphify_detect.json │ ├── .graphify_extract.json │ ├── .graphify_labels.json │ ├── .graphify_labels.json.sig │ ├── .graphify_learning.json │ ├── .graphify_python │ ├── .graphify_root │ ├── .graphify_semantic.json │ ├── .vocab.txt │ ├── cost.json │ ├── graph.html │ ├── graph.json │ ├── GRAPH_REPORT.md │ └── manifest.json ├── production-seed │ ├── data.json.gz │ ├── manifest.json │ └── media.tar.gz ├── static │ ├── css │ │ ├── app.css │ │ ├── customer-ticket-wizard.css │ │ ├── dispatches.css │ │ ├── enhancements.css │ │ ├── operations.css │ │ ├── tailwind.css │ │ ├── ticket-composer-v2.css │ │ └── ticket-composer.css │ ├── data │ │ ├── iran-locations.json │ │ └── iran-locations.LICENSE.md │ ├── fonts │ │ ├── vazirmatn-arabic-wght-normal.woff2 │ │ └── vazirmatn-latin-wght-normal.woff2 │ ├── images │ │ ├── company-logo.png │ │ ├── favicon.ico │ │ └── pwa-icon.png │ ├── js │ │ ├── attachment-uploader.js │ │ ├── chat-coach.js │ │ ├── contact-group-selector.js │ │ ├── conversation.js │ │ ├── customer-ticket-wizard.js │ │ ├── image-viewer.js │ │ ├── location-picker.js │ │ ├── pwa.js │ │ ├── staff-customer-picker.js │ │ ├── ticket-intent-search.js │ │ ├── ticket-unit-options.js │ │ ├── ui.js │ │ ├── voice-recorder.js │ │ ├── voip-call.js │ │ └── webotp.js │ ├── src │ │ └── tailwind.css │ ├── vendor │ │ ├── alpine-3.14.8.min.js │ │ ├── compressor.min.js │ │ └── htmx-2.0.3.min.js │ └── manifest.webmanifest ├── templates │ ├── accounts │ │ ├── customer_login.html │ │ ├── customer_password_login.html │ │ ├── otp.html │ │ ├── profile.html │ │ └── staff_login.html │ ├── includes │ │ ├── auth_brand.html │ │ └── auth_footer.html │ ├── messaging │ │ └── revisions.html │ ├── pwa │ │ └── service-worker.js │ ├── tickets │ │ ├── _image_viewer.html │ │ ├── _messages.html │ │ ├── _older_messages.html │ │ ├── _staff_customer_results.html │ │ ├── _staff_ticket_results.html │ │ ├── _voip_call_button.html │ │ ├── customer_detail.html │ │ ├── customer_list.html │ │ ├── customer_new.html │ │ ├── staff_contacts.html │ │ ├── staff_create.html │ │ ├── staff_customers.html │ │ ├── staff_detail.html │ │ ├── staff_dispatch_create.html │ │ ├── staff_dispatch_detail.html │ │ ├── staff_entity_form.html │ │ ├── staff_groups.html │ │ ├── staff_list.html │ │ ├── staff_magic_audit.html │ │ └── staff_sms_templates.html │ └── base.html ├── test-results │ ├── e2e │ │ ├── design-prototypes_ticket-new-wizard_test_prototype_e2e.py__test_ticket_wizard_progressive_flow_preview_edit_and_attachment_removal │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── design-prototypes_ticket-new-wizard_test_prototype_e2e.py__test_validation_message_is_focused_and_scrolled_into_view │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── design-prototypes_ticket-new-wizard_test_prototype_e2e.py__test_voice_recording_auto_stops_on_next_and_can_be_previewed_and_removed │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_chat_coach.py__test_customer_sees_chat_guidance_after_two_rapid_messages │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_chat_coach.py__test_staff_sees_chat_guidance_after_two_rapid_replies │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_customer_unit_categories_e2e.py__test_customer_natural_language_search_selects_helpful_catalog_route[invoice] │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_customer_unit_categories_e2e.py__test_customer_natural_language_search_selects_helpful_catalog_route[shipping] │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_customer_unit_categories_e2e.py__test_customer_natural_language_search_selects_helpful_catalog_route[supplier] │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_customer_unit_categories_e2e.py__test_customer_switches_unit_and_sees_its_categories │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_mobile_ticket_viewport.py__test_magic_link_mobile_viewport_keeps_composer_messages_and_credit_visible │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_mobile_ticket_viewport.py__test_staff_ticket_mobile_viewport_survives_open_close_and_rotation │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_organization_permissions_e2e.py__test_e2e_02_contact_group_picker_excludes_other_units │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_organization_permissions_e2e.py__test_e2e_05_06_limited_operation_owner_and_ceo_view_all[BULK-03] │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_organization_permissions_e2e.py__test_e2e_05_06_limited_operation_owner_and_ceo_view_all[INQUIRY-04] │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_organization_permissions_e2e.py__test_unit_change_renders_experts_when_a_legacy_cached_payload_has_no_queue │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_public_ticket_workflows_e2e.py__test_e2e_07_sales_general_queue_creates_verifiable_ticket │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_public_ticket_workflows_e2e.py__test_e2e_08_repeated_staff_changes_store_only_last_choice │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_public_ticket_workflows_e2e.py__test_e2e_09_10_11_attachment_variants_are_saved_and_rendered[jpg-images0-documents0-expected0] │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_public_ticket_workflows_e2e.py__test_e2e_09_10_11_attachment_variants_are_saved_and_rendered[mixed-images2-documents2-expected2] │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_public_ticket_workflows_e2e.py__test_e2e_09_10_11_attachment_variants_are_saved_and_rendered[multi-file-images3-documents3-expected3] │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_public_ticket_workflows_e2e.py__test_e2e_09_10_11_attachment_variants_are_saved_and_rendered[pdf-images1-documents1-expected1] │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_public_ticket_workflows_e2e.py__test_e2e_11_removed_attachment_is_not_submitted │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_public_ticket_workflows_e2e.py__test_e2e_12_sequential_unit_staff_category_and_attachment_state │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_public_ticket_workflows_e2e.py__test_e2e_customer_wizard_auto_stops_voice_and_submits_audio_only_ticket │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_public_ticket_workflows_e2e.py__test_e2e_customer_wizard_validation_preview_edit_and_floating_submit │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_public_ticket_workflows_e2e.py__test_e2e_experts_follow_configured_numeric_order │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_public_ticket_workflows_e2e.py__test_e2e_subject_stays_empty_for_manual_and_search_routing_until_user_types │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_pwa_versioning.py__test_pwa_registers_versioned_worker_and_matching_cache │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ ├── tests_e2e_test_staff_operations_ui.py__test_dispatch_report_presents_delivery_and_engagement_professionally │ │ │ ├── failure.png │ │ │ └── trace.zip │ │ └── tests_e2e_test_staff_operations_ui.py__test_staff_operations_pages_are_authorized_and_visually_styled │ │ ├── failure.png │ │ └── trace.zip │ ├── customer-chat-guidance.png │ └── staff-chat-guidance.png ├── tests │ ├── e2e │ │ ├── pages │ │ │ ├── __init__.py │ │ │ ├── auth.py │ │ │ ├── base.py │ │ │ ├── customer_new_ticket.py │ │ │ └── tickets.py │ │ ├── config.py │ │ ├── conftest.py │ │ ├── README.md │ │ ├── test_chat_coach.py │ │ ├── test_customer_unit_categories_e2e.py │ │ ├── test_external_environment_smoke.py │ │ ├── test_mobile_ticket_viewport.py │ │ ├── test_organization_permissions_e2e.py │ │ ├── test_public_ticket_workflows_e2e.py │ │ ├── test_pwa_versioning.py │ │ └── test_staff_operations_ui.py │ ├── js │ │ └── chat-coach.test.mjs │ ├── test_branding_operations.py │ ├── test_customer_category_catalog.py │ ├── test_customer_unit_categories.py │ ├── test_deployment.py │ ├── test_domain.py │ ├── test_env.py │ ├── test_jalali_templates.py │ ├── test_organizational_ticketing.py │ ├── test_permission_architecture.py │ ├── test_persian_text.py │ ├── test_production_seed.py │ ├── test_role_workflow_regression.py │ ├── test_views.py │ └── test_voip_calls.py ├── .dockerignore ├── .env ├── .env.example ├── .env.local ├── .env.local.example ├── .gitignore ├── .npmrc ├── AGENTS.md ├── db.sqlite3 ├── docker-compose.yml ├── Dockerfile ├── Dockerfile.nginx ├── manage.py ├── package-lock.json ├── package.json ├── project_tree.py ├── pytest.ini ├── README.md ├── requirements-dev.txt ├── requirements.txt └── Software Requirements & Architecture Specification — سیستم تیکتینگ فروش.md