diff --git a/.readthedocs.yml b/.readthedocs.yml index c5db0ed22..6ffd1fe16 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -4,6 +4,8 @@ build: os: ubuntu-20.04 tools: python: "3.12" + apt_packages: + - graphviz python: install: diff --git a/docs/_static/architecture.dot b/docs/_static/architecture.dot new file mode 100644 index 000000000..5ee205c53 --- /dev/null +++ b/docs/_static/architecture.dot @@ -0,0 +1,1820 @@ + +digraph G { + concentrate = true; + + rankdir = TB; + node [style=filled,fillcolor="#ffffff",fontcolor="#000000",fontname=Helvetica,fontsize=10]; + + ahriman_application_ahriman [fillcolor="#6b2e2e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nahriman"]; + ahriman_application_application [fillcolor="#e50505",fontcolor="#ffffff",label="ahriman\.\napplication\.\napplication"]; + ahriman_application_application_application [fillcolor="#7a2828",fontcolor="#ffffff",label="ahriman\.\napplication\.\napplication\.\napplication"]; + ahriman_application_application_application_packages [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\napplication\.\napplication\.\napplication_packages"]; + ahriman_application_application_application_properties [fillcolor="#8b2222",fontcolor="#ffffff",label="ahriman\.\napplication\.\napplication\.\napplication_properties"]; + ahriman_application_application_application_repository [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\napplication\.\napplication\.\napplication_repository"]; + ahriman_application_application_updates_iterator [fillcolor="#a83838",fontcolor="#ffffff",label="ahriman\.\napplication\.\napplication\.\nupdates_iterator"]; + ahriman_application_application_workers [fillcolor="#d60b0b",fontcolor="#ffffff",label="ahriman\.\napplication\.\napplication\.\nworkers"]; + ahriman_application_application_workers_local_updater [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\napplication\.\napplication\.\nworkers\.\nlocal_updater"]; + ahriman_application_application_workers_remote_updater [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\napplication\.\napplication\.\nworkers\.\nremote_updater"]; + ahriman_application_application_workers_updater [fillcolor="#821717",fontcolor="#ffffff",label="ahriman\.\napplication\.\napplication\.\nworkers\.\nupdater"]; + ahriman_application_handlers [fillcolor="#950303",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers"]; + ahriman_application_handlers_add [fillcolor="#7a2828",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nadd"]; + ahriman_application_handlers_backup [fillcolor="#8a2e2e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nbackup"]; + ahriman_application_handlers_change [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nchange"]; + ahriman_application_handlers_clean [fillcolor="#8a2e2e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nclean"]; + ahriman_application_handlers_copy [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\ncopy"]; + ahriman_application_handlers_daemon [fillcolor="#7a2828",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\ndaemon"]; + ahriman_application_handlers_dump [fillcolor="#8a2e2e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\ndump"]; + ahriman_application_handlers_handler [fillcolor="#950303",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nhandler"]; + ahriman_application_handlers_help [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nhelp"]; + ahriman_application_handlers_key_import [fillcolor="#8a2e2e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nkey_import"]; + ahriman_application_handlers_patch [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\npatch"]; + ahriman_application_handlers_rebuild [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nrebuild"]; + ahriman_application_handlers_remove [fillcolor="#8a2e2e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nremove"]; + ahriman_application_handlers_remove_unknown [fillcolor="#822b2b",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nremove_unknown"]; + ahriman_application_handlers_repositories [fillcolor="#8a2e2e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nrepositories"]; + ahriman_application_handlers_restore [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nrestore"]; + ahriman_application_handlers_run [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nrun"]; + ahriman_application_handlers_search [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nsearch"]; + ahriman_application_handlers_service_updates [fillcolor="#822b2b",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nservice_updates"]; + ahriman_application_handlers_setup [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nsetup"]; + ahriman_application_handlers_shell [fillcolor="#8a2e2e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nshell"]; + ahriman_application_handlers_sign [fillcolor="#8a2e2e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nsign"]; + ahriman_application_handlers_statistics [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nstatistics"]; + ahriman_application_handlers_status [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nstatus"]; + ahriman_application_handlers_status_update [fillcolor="#822b2b",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nstatus_update"]; + ahriman_application_handlers_structure [fillcolor="#7a2828",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nstructure"]; + ahriman_application_handlers_tree_migrate [fillcolor="#8a2e2e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\ntree_migrate"]; + ahriman_application_handlers_triggers [fillcolor="#822b2b",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\ntriggers"]; + ahriman_application_handlers_unsafe_commands [fillcolor="#8a2e2e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nunsafe_commands"]; + ahriman_application_handlers_update [fillcolor="#8b2222",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nupdate"]; + ahriman_application_handlers_users [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nusers"]; + ahriman_application_handlers_validate [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nvalidate"]; + ahriman_application_handlers_versions [fillcolor="#8a2e2e",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nversions"]; + ahriman_application_handlers_web [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhandlers\.\nweb"]; + ahriman_application_help_formatter [fillcolor="#c24747",fontcolor="#ffffff",label="ahriman\.\napplication\.\nhelp_formatter"]; + ahriman_application_lock [fillcolor="#7a2828",fontcolor="#ffffff",label="ahriman\.\napplication\.\nlock"]; + ahriman_core [fillcolor="#ef0606",fontcolor="#ffffff",label="ahriman.core"]; + ahriman_core_alpm [fillcolor="#f91010",fontcolor="#ffffff",label="ahriman\.\ncore\.\nalpm"]; + ahriman_core_alpm_pacman [fillcolor="#9f0404",fontcolor="#ffffff",label="ahriman\.\ncore\.\nalpm\.\npacman"]; + ahriman_core_alpm_pacman_database [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\ncore\.\nalpm\.\npacman_database"]; + ahriman_core_alpm_pkgbuild_parser [fillcolor="#a83838",fontcolor="#ffffff",label="ahriman\.\ncore\.\nalpm\.\npkgbuild_parser"]; + ahriman_core_alpm_remote [fillcolor="#bd0404",fontcolor="#ffffff",label="ahriman\.\ncore\.\nalpm\.\nremote"]; + ahriman_core_alpm_remote_aur [fillcolor="#8a2e2e",fontcolor="#ffffff",label="ahriman\.\ncore\.\nalpm\.\nremote\.\naur"]; + ahriman_core_alpm_remote_official [fillcolor="#932424",fontcolor="#ffffff",label="ahriman\.\ncore\.\nalpm\.\nremote\.\nofficial"]; + ahriman_core_alpm_remote_official_syncdb [fillcolor="#8a2e2e",fontcolor="#ffffff",label="ahriman\.\ncore\.\nalpm\.\nremote\.\nofficial_syncdb"]; + ahriman_core_alpm_remote_remote [fillcolor="#ae1e1e",fontcolor="#ffffff",label="ahriman\.\ncore\.\nalpm\.\nremote\.\nremote"]; + ahriman_core_alpm_repo [fillcolor="#993333",fontcolor="#ffffff",label="ahriman\.\ncore\.\nalpm\.\nrepo"]; + ahriman_core_auth [fillcolor="#e50505",fontcolor="#ffffff",label="ahriman\.\ncore\.\nauth"]; + ahriman_core_auth_auth [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\ncore\.\nauth\.\nauth"]; + ahriman_core_auth_helpers [fillcolor="#d92626",fontcolor="#ffffff",label="ahriman\.\ncore\.\nauth\.\nhelpers"]; + ahriman_core_auth_mapping [fillcolor="#9c1b1b",fontcolor="#ffffff",label="ahriman\.\ncore\.\nauth\.\nmapping"]; + ahriman_core_auth_oauth [fillcolor="#8b2222",fontcolor="#ffffff",label="ahriman\.\ncore\.\nauth\.\noauth"]; + ahriman_core_auth_pam [fillcolor="#7a2828",fontcolor="#ffffff",label="ahriman\.\ncore\.\nauth\.\npam"]; + ahriman_core_build_tools [fillcolor="#f91010",fontcolor="#ffffff",label="ahriman\.\ncore\.\nbuild_tools"]; + ahriman_core_build_tools_package_archive [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\ncore\.\nbuild_tools\.\npackage_archive"]; + ahriman_core_build_tools_sources [fillcolor="#a90404",fontcolor="#ffffff",label="ahriman\.\ncore\.\nbuild_tools\.\nsources"]; + ahriman_core_build_tools_task [fillcolor="#7a1e1e",fontcolor="#ffffff",label="ahriman\.\ncore\.\nbuild_tools\.\ntask"]; + ahriman_core_configuration [fillcolor="#e50505",fontcolor="#ffffff",label="ahriman\.\ncore\.\nconfiguration"]; + ahriman_core_configuration_configuration [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\ncore\.\nconfiguration\.\nconfiguration"]; + ahriman_core_configuration_schema [fillcolor="#db2f2f",fontcolor="#ffffff",label="ahriman\.\ncore\.\nconfiguration\.\nschema"]; + ahriman_core_configuration_shell_interpolator [fillcolor="#b03a3a",fontcolor="#ffffff",label="ahriman\.\ncore\.\nconfiguration\.\nshell_interpolator"]; + ahriman_core_configuration_shell_template [fillcolor="#ce3b3b",fontcolor="#ffffff",label="ahriman\.\ncore\.\nconfiguration\.\nshell_template"]; + ahriman_core_configuration_validator [fillcolor="#b03a3a",fontcolor="#ffffff",label="ahriman\.\ncore\.\nconfiguration\.\nvalidator"]; + ahriman_core_database [fillcolor="#e50505",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndatabase"]; + ahriman_core_database_migrations [fillcolor="#8f3d3d",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndatabase\.\nmigrations"]; + ahriman_core_database_operations [fillcolor="#950303",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndatabase\.\noperations"]; + ahriman_core_database_operations_auth_operations [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndatabase\.\noperations\.\nauth_operations"]; + ahriman_core_database_operations_build_operations [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndatabase\.\noperations\.\nbuild_operations"]; + ahriman_core_database_operations_changes_operations [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndatabase\.\noperations\.\nchanges_operations"]; + ahriman_core_database_operations_dependencies_operations [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndatabase\.\noperations\.\ndependencies_operations"]; + ahriman_core_database_operations_event_operations [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndatabase\.\noperations\.\nevent_operations"]; + ahriman_core_database_operations_logs_operations [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndatabase\.\noperations\.\nlogs_operations"]; + ahriman_core_database_operations_operations [fillcolor="#e50505",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndatabase\.\noperations\.\noperations"]; + ahriman_core_database_operations_package_operations [fillcolor="#7a2828",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndatabase\.\noperations\.\npackage_operations"]; + ahriman_core_database_operations_patch_operations [fillcolor="#993333",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndatabase\.\noperations\.\npatch_operations"]; + ahriman_core_database_sqlite [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndatabase\.\nsqlite"]; + ahriman_core_distributed [fillcolor="#d10505",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndistributed"]; + ahriman_core_distributed_distributed_system [fillcolor="#8b2222",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndistributed\.\ndistributed_system"]; + ahriman_core_distributed_worker_loader_trigger [fillcolor="#b03a3a",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndistributed\.\nworker_loader_trigger"]; + ahriman_core_distributed_worker_trigger [fillcolor="#993333",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndistributed\.\nworker_trigger"]; + ahriman_core_distributed_workers_cache [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\ncore\.\ndistributed\.\nworkers_cache"]; + ahriman_core_exceptions [fillcolor="#ef0606",fontcolor="#ffffff",label="ahriman\.\ncore\.\nexceptions"]; + ahriman_core_formatters [fillcolor="#950303",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters"]; + ahriman_core_formatters_aur_printer [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\naur_printer"]; + ahriman_core_formatters_build_printer [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\nbuild_printer"]; + ahriman_core_formatters_changes_printer [fillcolor="#993333",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\nchanges_printer"]; + ahriman_core_formatters_configuration_paths_printer [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\nconfiguration_paths_printer"]; + ahriman_core_formatters_configuration_printer [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\nconfiguration_printer"]; + ahriman_core_formatters_event_stats_printer [fillcolor="#993333",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\nevent_stats_printer"]; + ahriman_core_formatters_package_printer [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\npackage_printer"]; + ahriman_core_formatters_package_stats_printer [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\npackage_stats_printer"]; + ahriman_core_formatters_patch_printer [fillcolor="#993333",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\npatch_printer"]; + ahriman_core_formatters_printer [fillcolor="#d02424",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\nprinter"]; + ahriman_core_formatters_repository_printer [fillcolor="#993333",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\nrepository_printer"]; + ahriman_core_formatters_status_printer [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\nstatus_printer"]; + ahriman_core_formatters_string_printer [fillcolor="#e50505",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\nstring_printer"]; + ahriman_core_formatters_tree_printer [fillcolor="#993333",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\ntree_printer"]; + ahriman_core_formatters_update_printer [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\nupdate_printer"]; + ahriman_core_formatters_user_printer [fillcolor="#993333",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\nuser_printer"]; + ahriman_core_formatters_validation_printer [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\nvalidation_printer"]; + ahriman_core_formatters_version_printer [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\ncore\.\nformatters\.\nversion_printer"]; + ahriman_core_gitremote [fillcolor="#bf2121",fontcolor="#ffffff",label="ahriman\.\ncore\.\ngitremote"]; + ahriman_core_gitremote_remote_pull [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\ncore\.\ngitremote\.\nremote_pull"]; + ahriman_core_gitremote_remote_pull_trigger [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\ncore\.\ngitremote\.\nremote_pull_trigger"]; + ahriman_core_gitremote_remote_push [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\ncore\.\ngitremote\.\nremote_push"]; + ahriman_core_gitremote_remote_push_trigger [fillcolor="#7a2828",fontcolor="#ffffff",label="ahriman\.\ncore\.\ngitremote\.\nremote_push_trigger"]; + ahriman_core_http [fillcolor="#db0505",fontcolor="#ffffff",label="ahriman\.\ncore\.\nhttp"]; + ahriman_core_http_sync_ahriman_client [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\ncore\.\nhttp\.\nsync_ahriman_client"]; + ahriman_core_http_sync_http_client [fillcolor="#b42d2d",fontcolor="#ffffff",label="ahriman\.\ncore\.\nhttp\.\nsync_http_client"]; + ahriman_core_log [fillcolor="#e50505",fontcolor="#ffffff",label="ahriman\.\ncore\.\nlog"]; + ahriman_core_log_http_log_handler [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\ncore\.\nlog\.\nhttp_log_handler"]; + ahriman_core_log_journal_handler [fillcolor="#ac4949",fontcolor="#ffffff",label="ahriman\.\ncore\.\nlog\.\njournal_handler"]; + ahriman_core_log_lazy_logging [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\ncore\.\nlog\.\nlazy_logging"]; + ahriman_core_log_log_loader [fillcolor="#822b2b",fontcolor="#ffffff",label="ahriman\.\ncore\.\nlog\.\nlog_loader"]; + ahriman_core_report [fillcolor="#e50505",fontcolor="#ffffff",label="ahriman\.\ncore\.\nreport"]; + ahriman_core_report_console [fillcolor="#822b2b",fontcolor="#ffffff",label="ahriman\.\ncore\.\nreport\.\nconsole"]; + ahriman_core_report_email [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\ncore\.\nreport\.\nemail"]; + ahriman_core_report_html [fillcolor="#822b2b",fontcolor="#ffffff",label="ahriman\.\ncore\.\nreport\.\nhtml"]; + ahriman_core_report_jinja_template [fillcolor="#931010",fontcolor="#ffffff",label="ahriman\.\ncore\.\nreport\.\njinja_template"]; + ahriman_core_report_remote_call [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\ncore\.\nreport\.\nremote_call"]; + ahriman_core_report_report [fillcolor="#950303",fontcolor="#ffffff",label="ahriman\.\ncore\.\nreport\.\nreport"]; + ahriman_core_report_report_trigger [fillcolor="#822b2b",fontcolor="#ffffff",label="ahriman\.\ncore\.\nreport\.\nreport_trigger"]; + ahriman_core_report_rss [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\ncore\.\nreport\.\nrss"]; + ahriman_core_report_telegram [fillcolor="#7a2828",fontcolor="#ffffff",label="ahriman\.\ncore\.\nreport\.\ntelegram"]; + ahriman_core_repository [fillcolor="#e50505",fontcolor="#ffffff",label="ahriman\.\ncore\.\nrepository"]; + ahriman_core_repository_cleaner [fillcolor="#bc2f2f",fontcolor="#ffffff",label="ahriman\.\ncore\.\nrepository\.\ncleaner"]; + ahriman_core_repository_event_logger [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\ncore\.\nrepository\.\nevent_logger"]; + ahriman_core_repository_executor [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\ncore\.\nrepository\.\nexecutor"]; + ahriman_core_repository_package_info [fillcolor="#8b2222",fontcolor="#ffffff",label="ahriman\.\ncore\.\nrepository\.\npackage_info"]; + ahriman_core_repository_repository [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\ncore\.\nrepository\.\nrepository"]; + ahriman_core_repository_repository_properties [fillcolor="#7a1e1e",fontcolor="#ffffff",label="ahriman\.\ncore\.\nrepository\.\nrepository_properties"]; + ahriman_core_repository_update_handler [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\ncore\.\nrepository\.\nupdate_handler"]; + ahriman_core_sign [fillcolor="#f91010",fontcolor="#ffffff",label="ahriman\.\ncore\.\nsign"]; + ahriman_core_sign_gpg [fillcolor="#bd0404",fontcolor="#ffffff",label="ahriman\.\ncore\.\nsign\.\ngpg"]; + ahriman_core_spawn [fillcolor="#af1313",fontcolor="#ffffff",label="ahriman\.\ncore\.\nspawn"]; + ahriman_core_status [fillcolor="#e50505",fontcolor="#ffffff",label="ahriman\.\ncore\.\nstatus"]; + ahriman_core_status_client [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\ncore\.\nstatus\.\nclient"]; + ahriman_core_status_local_client [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\ncore\.\nstatus\.\nlocal_client"]; + ahriman_core_status_watcher [fillcolor="#821717",fontcolor="#ffffff",label="ahriman\.\ncore\.\nstatus\.\nwatcher"]; + ahriman_core_status_web_client [fillcolor="#8a0f0f",fontcolor="#ffffff",label="ahriman\.\ncore\.\nstatus\.\nweb_client"]; + ahriman_core_support [fillcolor="#db0505",fontcolor="#ffffff",label="ahriman\.\ncore\.\nsupport"]; + ahriman_core_support_keyring_trigger [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\ncore\.\nsupport\.\nkeyring_trigger"]; + ahriman_core_support_mirrorlist_trigger [fillcolor="#822b2b",fontcolor="#ffffff",label="ahriman\.\ncore\.\nsupport\.\nmirrorlist_trigger"]; + ahriman_core_support_package_creator [fillcolor="#832020",fontcolor="#ffffff",label="ahriman\.\ncore\.\nsupport\.\npackage_creator"]; + ahriman_core_support_pkgbuild [fillcolor="#f31616",fontcolor="#ffffff",label="ahriman\.\ncore\.\nsupport\.\npkgbuild"]; + ahriman_core_support_pkgbuild_keyring_generator [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\ncore\.\nsupport\.\npkgbuild\.\nkeyring_generator"]; + ahriman_core_support_pkgbuild_mirrorlist_generator [fillcolor="#8a2e2e",fontcolor="#ffffff",label="ahriman\.\ncore\.\nsupport\.\npkgbuild\.\nmirrorlist_generator"]; + ahriman_core_support_pkgbuild_pkgbuild_generator [fillcolor="#bf2121",fontcolor="#ffffff",label="ahriman\.\ncore\.\nsupport\.\npkgbuild\.\npkgbuild_generator"]; + ahriman_core_tree [fillcolor="#cc0a0a",fontcolor="#ffffff",label="ahriman\.\ncore\.\ntree"]; + ahriman_core_triggers [fillcolor="#db0505",fontcolor="#ffffff",label="ahriman\.\ncore\.\ntriggers"]; + ahriman_core_triggers_trigger [fillcolor="#8a2e2e",fontcolor="#ffffff",label="ahriman\.\ncore\.\ntriggers\.\ntrigger"]; + ahriman_core_triggers_trigger_loader [fillcolor="#822b2b",fontcolor="#ffffff",label="ahriman\.\ncore\.\ntriggers\.\ntrigger_loader"]; + ahriman_core_types [fillcolor="#c24747",fontcolor="#ffffff",label="ahriman\.\ncore\.\ntypes"]; + ahriman_core_upload [fillcolor="#e50505",fontcolor="#ffffff",label="ahriman\.\ncore\.\nupload"]; + ahriman_core_upload_github [fillcolor="#7a2828",fontcolor="#ffffff",label="ahriman\.\ncore\.\nupload\.\ngithub"]; + ahriman_core_upload_http_upload [fillcolor="#c43131",fontcolor="#ffffff",label="ahriman\.\ncore\.\nupload\.\nhttp_upload"]; + ahriman_core_upload_remote_service [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\ncore\.\nupload\.\nremote_service"]; + ahriman_core_upload_rsync [fillcolor="#8a2e2e",fontcolor="#ffffff",label="ahriman\.\ncore\.\nupload\.\nrsync"]; + ahriman_core_upload_s3 [fillcolor="#822b2b",fontcolor="#ffffff",label="ahriman\.\ncore\.\nupload\.\ns3"]; + ahriman_core_upload_upload [fillcolor="#910707",fontcolor="#ffffff",label="ahriman\.\ncore\.\nupload\.\nupload"]; + ahriman_core_upload_upload_trigger [fillcolor="#822b2b",fontcolor="#ffffff",label="ahriman\.\ncore\.\nupload\.\nupload_trigger"]; + ahriman_core_util [fillcolor="#ac4949",fontcolor="#ffffff",label="ahriman\.\ncore\.\nutil"]; + ahriman_core_utils [fillcolor="#db0505",fontcolor="#ffffff",label="ahriman\.\ncore\.\nutils"]; + ahriman_models [fillcolor="#f91010",fontcolor="#ffffff",label="ahriman.models"]; + ahriman_models_action [fillcolor="#f31616",fontcolor="#ffffff",label="ahriman\.\nmodels\.\naction"]; + ahriman_models_aur_package [fillcolor="#db0505",fontcolor="#ffffff",label="ahriman\.\nmodels\.\naur_package"]; + ahriman_models_auth_settings [fillcolor="#e72222",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nauth_settings"]; + ahriman_models_build_status [fillcolor="#ef0606",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nbuild_status"]; + ahriman_models_changes [fillcolor="#ef0606",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nchanges"]; + ahriman_models_context_key [fillcolor="#c24747",fontcolor="#ffffff",label="ahriman\.\nmodels\.\ncontext_key"]; + ahriman_models_counters [fillcolor="#ac2b2b",fontcolor="#ffffff",label="ahriman\.\nmodels\.\ncounters"]; + ahriman_models_dependencies [fillcolor="#ef0606",fontcolor="#ffffff",label="ahriman\.\nmodels\.\ndependencies"]; + ahriman_models_event [fillcolor="#ef0606",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nevent"]; + ahriman_models_filesystem_package [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nfilesystem_package"]; + ahriman_models_internal_status [fillcolor="#b62020",fontcolor="#ffffff",label="ahriman\.\nmodels\.\ninternal_status"]; + ahriman_models_log_handler [fillcolor="#ce3b3b",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nlog_handler"]; + ahriman_models_log_record_id [fillcolor="#f91010",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nlog_record_id"]; + ahriman_models_metrics_timer [fillcolor="#d02424",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nmetrics_timer"]; + ahriman_models_migration [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nmigration"]; + ahriman_models_migration_result [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nmigration_result"]; + ahriman_models_package [fillcolor="#950303",fontcolor="#ffffff",label="ahriman\.\nmodels\.\npackage"]; + ahriman_models_package_description [fillcolor="#b62020",fontcolor="#ffffff",label="ahriman\.\nmodels\.\npackage_description"]; + ahriman_models_package_source [fillcolor="#db0505",fontcolor="#ffffff",label="ahriman\.\nmodels\.\npackage_source"]; + ahriman_models_packagers [fillcolor="#f91010",fontcolor="#ffffff",label="ahriman\.\nmodels\.\npackagers"]; + ahriman_models_pacman_synchronization [fillcolor="#e72222",fontcolor="#ffffff",label="ahriman\.\nmodels\.\npacman_synchronization"]; + ahriman_models_pkgbuild [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\nmodels\.\npkgbuild"]; + ahriman_models_pkgbuild_patch [fillcolor="#db0505",fontcolor="#ffffff",label="ahriman\.\nmodels\.\npkgbuild_patch"]; + ahriman_models_process_status [fillcolor="#c24747",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nprocess_status"]; + ahriman_models_property [fillcolor="#f91010",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nproperty"]; + ahriman_models_remote_source [fillcolor="#d10505",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nremote_source"]; + ahriman_models_report_settings [fillcolor="#c24747",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nreport_settings"]; + ahriman_models_repository_id [fillcolor="#f91010",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nrepository_id"]; + ahriman_models_repository_paths [fillcolor="#d10505",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nrepository_paths"]; + ahriman_models_result [fillcolor="#ef0606",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nresult"]; + ahriman_models_scan_paths [fillcolor="#ce3b3b",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nscan_paths"]; + ahriman_models_sign_settings [fillcolor="#db2f2f",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nsign_settings"]; + ahriman_models_smtp_ssl_settings [fillcolor="#c24747",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nsmtp_ssl_settings"]; + ahriman_models_upload_settings [fillcolor="#c24747",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nupload_settings"]; + ahriman_models_user [fillcolor="#db0505",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nuser"]; + ahriman_models_user_access [fillcolor="#f91010",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nuser_access"]; + ahriman_models_waiter [fillcolor="#c43131",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nwaiter"]; + ahriman_models_worker [fillcolor="#e90c0c",fontcolor="#ffffff",label="ahriman\.\nmodels\.\nworker"]; + ahriman_web [fillcolor="#f91010",fontcolor="#ffffff",label="ahriman.web"]; + ahriman_web_apispec [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\nweb\.\napispec"]; + ahriman_web_cors [fillcolor="#b03a3a",fontcolor="#ffffff",label="ahriman\.\nweb\.\ncors"]; + ahriman_web_keys [fillcolor="#821717",fontcolor="#ffffff",label="ahriman\.\nweb\.\nkeys"]; + ahriman_web_middlewares [fillcolor="#d02424",fontcolor="#ffffff",label="ahriman\.\nweb\.\nmiddlewares"]; + ahriman_web_middlewares_auth_handler [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\nweb\.\nmiddlewares\.\nauth_handler"]; + ahriman_web_middlewares_exception_handler [fillcolor="#993333",fontcolor="#ffffff",label="ahriman\.\nweb\.\nmiddlewares\.\nexception_handler"]; + ahriman_web_routes [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\nweb\.\nroutes"]; + ahriman_web_schemas [fillcolor="#950303",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas"]; + ahriman_web_schemas_aur_package_schema [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\naur_package_schema"]; + ahriman_web_schemas_auth_schema [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nauth_schema"]; + ahriman_web_schemas_build_options_schema [fillcolor="#d02424",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nbuild_options_schema"]; + ahriman_web_schemas_changes_schema [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nchanges_schema"]; + ahriman_web_schemas_counters_schema [fillcolor="#c43131",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\ncounters_schema"]; + ahriman_web_schemas_dependencies_schema [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\ndependencies_schema"]; + ahriman_web_schemas_error_schema [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nerror_schema"]; + ahriman_web_schemas_event_schema [fillcolor="#a83838",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nevent_schema"]; + ahriman_web_schemas_event_search_schema [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nevent_search_schema"]; + ahriman_web_schemas_file_schema [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nfile_schema"]; + ahriman_web_schemas_info_schema [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\ninfo_schema"]; + ahriman_web_schemas_internal_status_schema [fillcolor="#913030",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\ninternal_status_schema"]; + ahriman_web_schemas_log_schema [fillcolor="#c43131",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nlog_schema"]; + ahriman_web_schemas_login_schema [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nlogin_schema"]; + ahriman_web_schemas_logs_schema [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nlogs_schema"]; + ahriman_web_schemas_oauth2_schema [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\noauth2_schema"]; + ahriman_web_schemas_package_name_schema [fillcolor="#c43131",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\npackage_name_schema"]; + ahriman_web_schemas_package_names_schema [fillcolor="#ac2b2b",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\npackage_names_schema"]; + ahriman_web_schemas_package_patch_schema [fillcolor="#993333",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\npackage_patch_schema"]; + ahriman_web_schemas_package_properties_schema [fillcolor="#c43131",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\npackage_properties_schema"]; + ahriman_web_schemas_package_schema [fillcolor="#a32828",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\npackage_schema"]; + ahriman_web_schemas_package_status_schema [fillcolor="#822b2b",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\npackage_status_schema"]; + ahriman_web_schemas_package_version_schema [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\npackage_version_schema"]; + ahriman_web_schemas_pagination_schema [fillcolor="#ac2b2b",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\npagination_schema"]; + ahriman_web_schemas_patch_name_schema [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\npatch_name_schema"]; + ahriman_web_schemas_patch_schema [fillcolor="#c43131",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\npatch_schema"]; + ahriman_web_schemas_pgp_key_id_schema [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\npgp_key_id_schema"]; + ahriman_web_schemas_pgp_key_schema [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\npgp_key_schema"]; + ahriman_web_schemas_process_id_schema [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nprocess_id_schema"]; + ahriman_web_schemas_process_schema [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nprocess_schema"]; + ahriman_web_schemas_remote_schema [fillcolor="#b42d2d",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nremote_schema"]; + ahriman_web_schemas_repository_id_schema [fillcolor="#ef0606",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nrepository_id_schema"]; + ahriman_web_schemas_search_schema [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nsearch_schema"]; + ahriman_web_schemas_status_schema [fillcolor="#ca1616",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nstatus_schema"]; + ahriman_web_schemas_update_flags_schema [fillcolor="#a13535",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nupdate_flags_schema"]; + ahriman_web_schemas_versioned_log_schema [fillcolor="#993333",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nversioned_log_schema"]; + ahriman_web_schemas_worker_schema [fillcolor="#b83d3d",fontcolor="#ffffff",label="ahriman\.\nweb\.\nschemas\.\nworker_schema"]; + ahriman_web_views [fillcolor="#f91010",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews"]; + ahriman_web_views_api_docs [fillcolor="#8f3d3d",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\napi\.\ndocs"]; + ahriman_web_views_api_swagger [fillcolor="#793434",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\napi\.\nswagger"]; + ahriman_web_views_base [fillcolor="#950303",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nbase"]; + ahriman_web_views_index [fillcolor="#793434",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nindex"]; + ahriman_web_views_static [fillcolor="#883a3a",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nstatic"]; + ahriman_web_views_status_view_guard [fillcolor="#ef0606",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nstatus_view_guard"]; + ahriman_web_views_v1_auditlog_events [fillcolor="#723131",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\nauditlog\.\nevents"]; + ahriman_web_views_v1_distributed_workers [fillcolor="#723131",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\ndistributed\.\nworkers"]; + ahriman_web_views_v1_packages_changes [fillcolor="#6b2e2e",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\npackages\.\nchanges"]; + ahriman_web_views_v1_packages_dependencies [fillcolor="#6b2e2e",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\npackages\.\ndependencies"]; + ahriman_web_views_v1_packages_logs [fillcolor="#6b2e2e",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\npackages\.\nlogs"]; + ahriman_web_views_v1_packages_package [fillcolor="#6b2e2e",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\npackages\.\npackage"]; + ahriman_web_views_v1_packages_packages [fillcolor="#6b2e2e",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\npackages\.\npackages"]; + ahriman_web_views_v1_packages_patch [fillcolor="#723131",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\npackages\.\npatch"]; + ahriman_web_views_v1_packages_patches [fillcolor="#6b2e2e",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\npackages\.\npatches"]; + ahriman_web_views_v1_service_add [fillcolor="#723131",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\nservice\.\nadd"]; + ahriman_web_views_v1_service_pgp [fillcolor="#793434",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\nservice\.\npgp"]; + ahriman_web_views_v1_service_process [fillcolor="#793434",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\nservice\.\nprocess"]; + ahriman_web_views_v1_service_rebuild [fillcolor="#793434",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\nservice\.\nrebuild"]; + ahriman_web_views_v1_service_remove [fillcolor="#793434",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\nservice\.\nremove"]; + ahriman_web_views_v1_service_request [fillcolor="#723131",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\nservice\.\nrequest"]; + ahriman_web_views_v1_service_search [fillcolor="#6b2e2e",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\nservice\.\nsearch"]; + ahriman_web_views_v1_service_update [fillcolor="#793434",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\nservice\.\nupdate"]; + ahriman_web_views_v1_service_upload [fillcolor="#723131",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\nservice\.\nupload"]; + ahriman_web_views_v1_status_info [fillcolor="#793434",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\nstatus\.\ninfo"]; + ahriman_web_views_v1_status_repositories [fillcolor="#793434",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\nstatus\.\nrepositories"]; + ahriman_web_views_v1_status_status [fillcolor="#6b2e2e",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\nstatus\.\nstatus"]; + ahriman_web_views_v1_user_login [fillcolor="#6b2e2e",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\nuser\.\nlogin"]; + ahriman_web_views_v1_user_logout [fillcolor="#6b2e2e",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv1\.\nuser\.\nlogout"]; + ahriman_web_views_v2_packages_logs [fillcolor="#723131",fontcolor="#ffffff",label="ahriman\.\nweb\.\nviews\.\nv2\.\npackages\.\nlogs"]; + ahriman_web_web [fillcolor="#732626",fontcolor="#ffffff",label="ahriman\.\nweb\.\nweb"]; + aioauth_client [fillcolor="#c06440",fontcolor="#ffffff",shape="folder"]; + aiohttp [fillcolor="#f99106",shape="folder"]; + aiohttp_apispec [fillcolor="#f9d810",shape="folder"]; + aiohttp_cors [fillcolor="#a6b83d",shape="folder"]; + aiohttp_jinja2 [fillcolor="#81c823",shape="folder"]; + aiohttp_security [fillcolor="#6ac247",shape="folder"]; + aiohttp_session [fillcolor="#3db83d",shape="folder"]; + boto3 [fillcolor="#40c064",shape="folder"]; + cerberus [fillcolor="#40c089",shape="folder"]; + cryptography [fillcolor="#19e6c9",shape="folder"]; + elftools [fillcolor="#53a8b6",shape="folder"]; + inflection [fillcolor="#538cb6",shape="folder"]; + jinja2 [fillcolor="#3b65ce",fontcolor="#ffffff",shape="folder"]; + marshmallow [fillcolor="#0606ef",fontcolor="#ffffff",shape="folder"]; + matplotlib [fillcolor="#5b31c4",fontcolor="#ffffff",shape="folder"]; + passlib [fillcolor="#8d47c2",fontcolor="#ffffff",shape="folder"]; + pyalpm [fillcolor="#cb22e7",fontcolor="#ffffff",shape="folder"]; + requests [fillcolor="#ef06ce",fontcolor="#ffffff",shape="folder"]; + requests_unixsocket [fillcolor="#b34c87",fontcolor="#ffffff",shape="folder"]; + systemd [fillcolor="#ce3b65",fontcolor="#ffffff",shape="folder"]; + ahriman_application_application -> ahriman_application_handlers_add [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_change [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_clean [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_copy [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_daemon [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_key_import [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_patch [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_rebuild [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_remove [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_remove_unknown [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_setup [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_sign [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_statistics [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_status [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_status_update [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_structure [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_triggers [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application -> ahriman_application_handlers_update [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_application_application_application -> ahriman_application_application [fillcolor="#7a2828",weight="3"]; + ahriman_application_application_application_packages -> ahriman_application_application_application [fillcolor="#732626",weight="3"]; + ahriman_application_application_application_properties -> ahriman_application_application_application_packages [fillcolor="#8b2222",weight="3"]; + ahriman_application_application_application_properties -> ahriman_application_application_application_repository [fillcolor="#8b2222",weight="3"]; + ahriman_application_application_application_repository -> ahriman_application_application_application [fillcolor="#732626",weight="3"]; + ahriman_application_application_updates_iterator -> ahriman_application_handlers_daemon [fillcolor="#a83838",minlen="2",weight="2"]; + ahriman_application_application_workers -> ahriman_application_application_application_repository [fillcolor="#d60b0b",weight="3"]; + ahriman_application_application_workers_local_updater -> ahriman_application_application_workers_updater [fillcolor="#732626",minlen="0",weight="4"]; + ahriman_application_application_workers_remote_updater -> ahriman_application_application_workers_updater [fillcolor="#732626",minlen="0",weight="4"]; + ahriman_application_application_workers_updater -> ahriman_application_application_workers [fillcolor="#821717",minlen="0",weight="4"]; + ahriman_application_application_workers_updater -> ahriman_application_application_workers_local_updater [fillcolor="#821717",minlen="0",weight="4"]; + ahriman_application_application_workers_updater -> ahriman_application_application_workers_remote_updater [fillcolor="#821717",minlen="0",weight="4"]; + ahriman_application_handlers -> ahriman_application_ahriman [fillcolor="#950303",weight="2"]; + ahriman_application_handlers_add -> ahriman_application_handlers [fillcolor="#7a2828",weight="3"]; + ahriman_application_handlers_backup -> ahriman_application_handlers [fillcolor="#8a2e2e",weight="3"]; + ahriman_application_handlers_change -> ahriman_application_handlers [fillcolor="#732626",weight="3"]; + ahriman_application_handlers_clean -> ahriman_application_handlers [fillcolor="#8a2e2e",weight="3"]; + ahriman_application_handlers_copy -> ahriman_application_handlers [fillcolor="#732626",weight="3"]; + ahriman_application_handlers_daemon -> ahriman_application_handlers [fillcolor="#7a2828",weight="3"]; + ahriman_application_handlers_dump -> ahriman_application_handlers [fillcolor="#8a2e2e",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_add [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_backup [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_change [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_clean [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_copy [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_daemon [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_dump [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_help [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_key_import [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_patch [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_rebuild [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_remove [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_remove_unknown [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_repositories [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_restore [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_run [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_search [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_service_updates [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_setup [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_shell [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_sign [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_statistics [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_status [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_status_update [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_structure [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_tree_migrate [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_triggers [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_unsafe_commands [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_update [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_users [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_validate [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_versions [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_handler -> ahriman_application_handlers_web [fillcolor="#950303",weight="3"]; + ahriman_application_handlers_help -> ahriman_application_handlers [fillcolor="#913030",weight="3"]; + ahriman_application_handlers_key_import -> ahriman_application_handlers [fillcolor="#8a2e2e",weight="3"]; + ahriman_application_handlers_patch -> ahriman_application_handlers [fillcolor="#732626",weight="3"]; + ahriman_application_handlers_rebuild -> ahriman_application_handlers [fillcolor="#732626",weight="3"]; + ahriman_application_handlers_remove -> ahriman_application_handlers [fillcolor="#8a2e2e",weight="3"]; + ahriman_application_handlers_remove_unknown -> ahriman_application_handlers [fillcolor="#822b2b",weight="3"]; + ahriman_application_handlers_repositories -> ahriman_application_handlers [fillcolor="#8a2e2e",weight="3"]; + ahriman_application_handlers_restore -> ahriman_application_handlers [fillcolor="#913030",weight="3"]; + ahriman_application_handlers_run -> ahriman_application_handlers [fillcolor="#913030",weight="3"]; + ahriman_application_handlers_search -> ahriman_application_handlers [fillcolor="#732626",weight="3"]; + ahriman_application_handlers_service_updates -> ahriman_application_handlers [fillcolor="#822b2b",weight="3"]; + ahriman_application_handlers_setup -> ahriman_application_handlers [fillcolor="#732626",weight="3"]; + ahriman_application_handlers_shell -> ahriman_application_handlers [fillcolor="#8a2e2e",weight="3"]; + ahriman_application_handlers_sign -> ahriman_application_handlers [fillcolor="#8a2e2e",weight="3"]; + ahriman_application_handlers_statistics -> ahriman_application_handlers [fillcolor="#732626",weight="3"]; + ahriman_application_handlers_status -> ahriman_application_handlers [fillcolor="#732626",weight="3"]; + ahriman_application_handlers_status_update -> ahriman_application_handlers [fillcolor="#822b2b",weight="3"]; + ahriman_application_handlers_structure -> ahriman_application_handlers [fillcolor="#7a2828",weight="3"]; + ahriman_application_handlers_tree_migrate -> ahriman_application_handlers [fillcolor="#8a2e2e",weight="3"]; + ahriman_application_handlers_triggers -> ahriman_application_handlers [fillcolor="#822b2b",weight="3"]; + ahriman_application_handlers_unsafe_commands -> ahriman_application_handlers [fillcolor="#8a2e2e",weight="3"]; + ahriman_application_handlers_update -> ahriman_application_handlers [fillcolor="#8b2222",weight="3"]; + ahriman_application_handlers_update -> ahriman_application_handlers_daemon [fillcolor="#8b2222",weight="3"]; + ahriman_application_handlers_users -> ahriman_application_handlers [fillcolor="#732626",weight="3"]; + ahriman_application_handlers_validate -> ahriman_application_handlers [fillcolor="#732626",weight="3"]; + ahriman_application_handlers_versions -> ahriman_application_handlers [fillcolor="#8a2e2e",weight="3"]; + ahriman_application_handlers_web -> ahriman_application_handlers [fillcolor="#732626",weight="3"]; + ahriman_application_help_formatter -> ahriman_application_ahriman [fillcolor="#c24747",weight="2"]; + ahriman_application_lock -> ahriman_application_handlers_handler [fillcolor="#7a2828",minlen="2",weight="2"]; + ahriman_core -> ahriman_application_ahriman [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_application_application_application [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_application_application_packages [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_application_application_properties [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_application_application_repository [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_application_updates_iterator [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_application_workers_local_updater [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_application_workers_remote_updater [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_application_workers_updater [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_add [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_backup [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_change [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_clean [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_copy [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_daemon [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_dump [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_handler [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_help [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_key_import [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_patch [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_rebuild [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_remove [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_remove_unknown [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_repositories [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_restore [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_run [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_search [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_service_updates [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_setup [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_shell [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_sign [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_statistics [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_status [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_status_update [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_structure [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_tree_migrate [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_triggers [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_unsafe_commands [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_update [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_users [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_validate [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_versions [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_handlers_web [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_application_lock [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_aur_package [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_build_status [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_changes [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_counters [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_dependencies [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_event [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_filesystem_package [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_internal_status [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_metrics_timer [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_migration [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_migration_result [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_package [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_package_description [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_package_source [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_pkgbuild [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_pkgbuild_patch [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_remote_source [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_repository_paths [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_models_worker [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_web_keys [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_web_middlewares_auth_handler [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_web_routes [fillcolor="#ef0606",minlen="2"]; + ahriman_core -> ahriman_web_views_api_swagger [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_web_views_base [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_web_views_index [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_web_views_status_view_guard [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_web_views_v1_packages_logs [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_web_views_v1_packages_package [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_web_views_v1_service_search [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_web_views_v1_user_login [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_web_views_v1_user_logout [fillcolor="#ef0606",minlen="3"]; + ahriman_core -> ahriman_web_web [fillcolor="#ef0606",minlen="2"]; + ahriman_core_alpm -> ahriman_application_handlers_search [fillcolor="#f91010",minlen="3"]; + ahriman_core_alpm -> ahriman_core_build_tools_package_archive [fillcolor="#f91010",minlen="2",weight="2"]; + ahriman_core_alpm -> ahriman_core_repository_repository [fillcolor="#f91010",minlen="2",weight="2"]; + ahriman_core_alpm -> ahriman_core_repository_repository_properties [fillcolor="#f91010",minlen="2",weight="2"]; + ahriman_core_alpm -> ahriman_models_package [fillcolor="#f91010",minlen="2"]; + ahriman_core_alpm -> ahriman_models_pkgbuild [fillcolor="#f91010",minlen="2"]; + ahriman_core_alpm -> ahriman_web_views_v1_service_search [fillcolor="#f91010",minlen="3"]; + ahriman_core_alpm_pacman -> ahriman_core_alpm_remote_aur [fillcolor="#9f0404",weight="3"]; + ahriman_core_alpm_pacman -> ahriman_core_alpm_remote_official [fillcolor="#9f0404",weight="3"]; + ahriman_core_alpm_pacman -> ahriman_core_alpm_remote_official_syncdb [fillcolor="#9f0404",weight="3"]; + ahriman_core_alpm_pacman -> ahriman_core_alpm_remote_remote [fillcolor="#9f0404",weight="3"]; + ahriman_core_alpm_pacman -> ahriman_core_build_tools_package_archive [fillcolor="#9f0404",minlen="2",weight="2"]; + ahriman_core_alpm_pacman -> ahriman_core_repository_repository [fillcolor="#9f0404",minlen="2",weight="2"]; + ahriman_core_alpm_pacman -> ahriman_core_repository_repository_properties [fillcolor="#9f0404",minlen="2",weight="2"]; + ahriman_core_alpm_pacman -> ahriman_models_package [fillcolor="#9f0404",minlen="3"]; + ahriman_core_alpm_pacman_database -> ahriman_core_alpm_pacman [fillcolor="#a13535",weight="3"]; + ahriman_core_alpm_pkgbuild_parser -> ahriman_models_pkgbuild [fillcolor="#a83838",minlen="3"]; + ahriman_core_alpm_remote -> ahriman_application_handlers_search [fillcolor="#bd0404",minlen="3"]; + ahriman_core_alpm_remote -> ahriman_core_build_tools_package_archive [fillcolor="#bd0404",minlen="2",weight="2"]; + ahriman_core_alpm_remote -> ahriman_models_package [fillcolor="#bd0404",minlen="3"]; + ahriman_core_alpm_remote -> ahriman_web_views_v1_service_search [fillcolor="#bd0404",minlen="3"]; + ahriman_core_alpm_remote_aur -> ahriman_core_alpm_remote [fillcolor="#8a2e2e",minlen="0",weight="4"]; + ahriman_core_alpm_remote_official -> ahriman_core_alpm_remote [fillcolor="#932424",minlen="0",weight="4"]; + ahriman_core_alpm_remote_official -> ahriman_core_alpm_remote_official_syncdb [fillcolor="#932424",minlen="0",weight="4"]; + ahriman_core_alpm_remote_official_syncdb -> ahriman_core_alpm_remote [fillcolor="#8a2e2e",minlen="0",weight="4"]; + ahriman_core_alpm_remote_remote -> ahriman_core_alpm_remote [fillcolor="#ae1e1e",minlen="0",weight="4"]; + ahriman_core_alpm_remote_remote -> ahriman_core_alpm_remote_aur [fillcolor="#ae1e1e",minlen="0",weight="4"]; + ahriman_core_alpm_remote_remote -> ahriman_core_alpm_remote_official [fillcolor="#ae1e1e",minlen="0",weight="4"]; + ahriman_core_alpm_repo -> ahriman_core_repository_repository_properties [fillcolor="#993333",minlen="2",weight="2"]; + ahriman_core_auth -> ahriman_web_keys [fillcolor="#e50505",minlen="2"]; + ahriman_core_auth -> ahriman_web_middlewares_auth_handler [fillcolor="#e50505",minlen="3"]; + ahriman_core_auth -> ahriman_web_views_base [fillcolor="#e50505",minlen="3"]; + ahriman_core_auth -> ahriman_web_views_index [fillcolor="#e50505",minlen="3"]; + ahriman_core_auth -> ahriman_web_views_v1_user_login [fillcolor="#e50505",minlen="3"]; + ahriman_core_auth -> ahriman_web_views_v1_user_logout [fillcolor="#e50505",minlen="3"]; + ahriman_core_auth -> ahriman_web_web [fillcolor="#e50505",minlen="2"]; + ahriman_core_auth_auth -> ahriman_core_auth [fillcolor="#732626",weight="3"]; + ahriman_core_auth_helpers -> ahriman_web_views_index [fillcolor="#d92626",minlen="3"]; + ahriman_core_auth_helpers -> ahriman_web_views_v1_user_login [fillcolor="#d92626",minlen="3"]; + ahriman_core_auth_helpers -> ahriman_web_views_v1_user_logout [fillcolor="#d92626",minlen="3"]; + ahriman_core_auth_mapping -> ahriman_core_auth_auth [fillcolor="#9c1b1b",weight="3"]; + ahriman_core_auth_mapping -> ahriman_core_auth_oauth [fillcolor="#9c1b1b",weight="3"]; + ahriman_core_auth_mapping -> ahriman_core_auth_pam [fillcolor="#9c1b1b",weight="3"]; + ahriman_core_auth_oauth -> ahriman_core_auth_auth [fillcolor="#8b2222",weight="3"]; + ahriman_core_auth_oauth -> ahriman_web_views_v1_user_login [fillcolor="#8b2222",minlen="3"]; + ahriman_core_auth_pam -> ahriman_core_auth_auth [fillcolor="#7a2828",weight="3"]; + ahriman_core_build_tools -> ahriman_application_application_application_packages [fillcolor="#f91010",minlen="3"]; + ahriman_core_build_tools -> ahriman_application_application_application_repository [fillcolor="#f91010",minlen="3"]; + ahriman_core_build_tools -> ahriman_application_handlers_patch [fillcolor="#f91010",minlen="3"]; + ahriman_core_build_tools -> ahriman_core_gitremote_remote_pull [fillcolor="#f91010",minlen="2",weight="2"]; + ahriman_core_build_tools -> ahriman_core_gitremote_remote_push [fillcolor="#f91010",minlen="2",weight="2"]; + ahriman_core_build_tools -> ahriman_core_repository_executor [fillcolor="#f91010",minlen="2",weight="2"]; + ahriman_core_build_tools -> ahriman_core_repository_package_info [fillcolor="#f91010",minlen="2",weight="2"]; + ahriman_core_build_tools -> ahriman_core_repository_update_handler [fillcolor="#f91010",minlen="2",weight="2"]; + ahriman_core_build_tools -> ahriman_core_support_package_creator [fillcolor="#f91010",minlen="2",weight="2"]; + ahriman_core_build_tools -> ahriman_models_package [fillcolor="#f91010",minlen="2"]; + ahriman_core_build_tools_package_archive -> ahriman_core_repository_executor [fillcolor="#732626",minlen="2",weight="2"]; + ahriman_core_build_tools_sources -> ahriman_application_application_application_packages [fillcolor="#a90404",minlen="3"]; + ahriman_core_build_tools_sources -> ahriman_application_application_application_repository [fillcolor="#a90404",minlen="3"]; + ahriman_core_build_tools_sources -> ahriman_application_handlers_patch [fillcolor="#a90404",minlen="3"]; + ahriman_core_build_tools_sources -> ahriman_core_build_tools_task [fillcolor="#a90404",weight="3"]; + ahriman_core_build_tools_sources -> ahriman_core_gitremote_remote_pull [fillcolor="#a90404",minlen="2",weight="2"]; + ahriman_core_build_tools_sources -> ahriman_core_gitremote_remote_push [fillcolor="#a90404",minlen="2",weight="2"]; + ahriman_core_build_tools_sources -> ahriman_core_repository_package_info [fillcolor="#a90404",minlen="2",weight="2"]; + ahriman_core_build_tools_sources -> ahriman_core_repository_update_handler [fillcolor="#a90404",minlen="2",weight="2"]; + ahriman_core_build_tools_sources -> ahriman_core_support_package_creator [fillcolor="#a90404",minlen="2",weight="2"]; + ahriman_core_build_tools_task -> ahriman_core_repository_executor [fillcolor="#7a1e1e",minlen="2",weight="2"]; + ahriman_core_build_tools_task -> ahriman_models_package [fillcolor="#7a1e1e",minlen="3"]; + ahriman_core_configuration -> ahriman_application_application_application_properties [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_application_workers_remote_updater [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_application_workers_updater [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_add [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_backup [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_change [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_clean [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_copy [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_daemon [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_dump [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_handler [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_help [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_key_import [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_patch [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_rebuild [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_remove [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_remove_unknown [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_repositories [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_restore [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_run [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_search [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_service_updates [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_setup [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_shell [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_sign [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_statistics [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_status [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_status_update [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_structure [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_tree_migrate [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_triggers [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_unsafe_commands [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_update [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_users [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_validate [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_versions [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_handlers_web [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_application_lock [fillcolor="#e50505",minlen="2"]; + ahriman_core_configuration -> ahriman_core_alpm_pacman [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_alpm_pacman_database [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_auth_auth [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_auth_mapping [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_auth_oauth [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_auth_pam [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_build_tools_task [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_database_migrations [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_database_operations_operations [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_database_sqlite [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_distributed_distributed_system [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_distributed_worker_trigger [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_distributed_workers_cache [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_gitremote_remote_pull [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_gitremote_remote_pull_trigger [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_gitremote_remote_push [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_gitremote_remote_push_trigger [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_http_sync_http_client [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_log_http_log_handler [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_log_log_loader [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_report_console [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_report_email [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_report_html [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_report_jinja_template [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_report_remote_call [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_report_report [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_report_report_trigger [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_report_rss [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_report_telegram [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_repository_repository [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_repository_repository_properties [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_sign_gpg [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_status_client [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_status_web_client [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_support_keyring_trigger [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_support_mirrorlist_trigger [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_support_package_creator [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_support_pkgbuild_keyring_generator [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_support_pkgbuild_mirrorlist_generator [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_triggers_trigger [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_triggers_trigger_loader [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_upload_github [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_upload_remote_service [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_upload_rsync [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_upload_s3 [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_upload_upload [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_core_upload_upload_trigger [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_configuration -> ahriman_models_migration [fillcolor="#e50505",minlen="2"]; + ahriman_core_configuration -> ahriman_models_package [fillcolor="#e50505",minlen="2"]; + ahriman_core_configuration -> ahriman_models_pkgbuild_patch [fillcolor="#e50505",minlen="2"]; + ahriman_core_configuration -> ahriman_web_keys [fillcolor="#e50505",minlen="2"]; + ahriman_core_configuration -> ahriman_web_middlewares_auth_handler [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_web_routes [fillcolor="#e50505",minlen="2"]; + ahriman_core_configuration -> ahriman_web_views_base [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_web_views_status_view_guard [fillcolor="#e50505",minlen="3"]; + ahriman_core_configuration -> ahriman_web_web [fillcolor="#e50505",minlen="2"]; + ahriman_core_configuration_configuration -> ahriman_core_configuration [fillcolor="#913030",weight="3"]; + ahriman_core_configuration_schema -> ahriman_application_handlers_validate [fillcolor="#db2f2f",minlen="3"]; + ahriman_core_configuration_schema -> ahriman_core_distributed_distributed_system [fillcolor="#db2f2f",minlen="2",weight="2"]; + ahriman_core_configuration_schema -> ahriman_core_triggers_trigger [fillcolor="#db2f2f",minlen="2",weight="2"]; + ahriman_core_configuration_shell_interpolator -> ahriman_core_configuration_configuration [fillcolor="#b03a3a",weight="3"]; + ahriman_core_configuration_shell_template -> ahriman_core_configuration_shell_interpolator [fillcolor="#ce3b3b",weight="3"]; + ahriman_core_configuration_shell_template -> ahriman_models_pkgbuild_patch [fillcolor="#ce3b3b",minlen="3"]; + ahriman_core_configuration_validator -> ahriman_application_handlers_validate [fillcolor="#b03a3a",minlen="3"]; + ahriman_core_database -> ahriman_application_application_application_properties [fillcolor="#e50505",minlen="3"]; + ahriman_core_database -> ahriman_application_handlers_backup [fillcolor="#e50505",minlen="3"]; + ahriman_core_database -> ahriman_application_handlers_users [fillcolor="#e50505",minlen="3"]; + ahriman_core_database -> ahriman_core_auth_auth [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_database -> ahriman_core_auth_mapping [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_database -> ahriman_core_auth_oauth [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_database -> ahriman_core_auth_pam [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_database -> ahriman_core_repository_repository [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_database -> ahriman_core_repository_repository_properties [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_database -> ahriman_core_status_client [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_database -> ahriman_core_status_local_client [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_database -> ahriman_core_support_keyring_trigger [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_database -> ahriman_core_support_pkgbuild_keyring_generator [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_database -> ahriman_web_web [fillcolor="#e50505",minlen="2"]; + ahriman_core_database_migrations -> ahriman_core_database_sqlite [fillcolor="#8f3d3d",weight="3"]; + ahriman_core_database_operations -> ahriman_core_database_sqlite [fillcolor="#950303",weight="3"]; + ahriman_core_database_operations_auth_operations -> ahriman_core_database_operations [fillcolor="#913030",minlen="0",weight="4"]; + ahriman_core_database_operations_build_operations -> ahriman_core_database_operations [fillcolor="#913030",minlen="0",weight="4"]; + ahriman_core_database_operations_changes_operations -> ahriman_core_database_operations [fillcolor="#913030",minlen="0",weight="4"]; + ahriman_core_database_operations_dependencies_operations -> ahriman_core_database_operations [fillcolor="#913030",minlen="0",weight="4"]; + ahriman_core_database_operations_event_operations -> ahriman_core_database_operations [fillcolor="#913030",minlen="0",weight="4"]; + ahriman_core_database_operations_logs_operations -> ahriman_core_database_operations [fillcolor="#913030",minlen="0",weight="4"]; + ahriman_core_database_operations_operations -> ahriman_core_database_operations_auth_operations [fillcolor="#e50505",minlen="0",weight="4"]; + ahriman_core_database_operations_operations -> ahriman_core_database_operations_build_operations [fillcolor="#e50505",minlen="0",weight="4"]; + ahriman_core_database_operations_operations -> ahriman_core_database_operations_changes_operations [fillcolor="#e50505",minlen="0",weight="4"]; + ahriman_core_database_operations_operations -> ahriman_core_database_operations_dependencies_operations [fillcolor="#e50505",minlen="0",weight="4"]; + ahriman_core_database_operations_operations -> ahriman_core_database_operations_event_operations [fillcolor="#e50505",minlen="0",weight="4"]; + ahriman_core_database_operations_operations -> ahriman_core_database_operations_logs_operations [fillcolor="#e50505",minlen="0",weight="4"]; + ahriman_core_database_operations_operations -> ahriman_core_database_operations_package_operations [fillcolor="#e50505",minlen="0",weight="4"]; + ahriman_core_database_operations_operations -> ahriman_core_database_operations_patch_operations [fillcolor="#e50505",minlen="0",weight="4"]; + ahriman_core_database_operations_package_operations -> ahriman_core_database_operations [fillcolor="#7a2828",minlen="0",weight="4"]; + ahriman_core_database_operations_patch_operations -> ahriman_core_database_operations [fillcolor="#993333",minlen="0",weight="4"]; + ahriman_core_database_sqlite -> ahriman_core_database [fillcolor="#913030",weight="3"]; + ahriman_core_distributed -> ahriman_web_keys [fillcolor="#d10505",minlen="2"]; + ahriman_core_distributed -> ahriman_web_views_base [fillcolor="#d10505",minlen="3"]; + ahriman_core_distributed -> ahriman_web_web [fillcolor="#d10505",minlen="2"]; + ahriman_core_distributed_distributed_system -> ahriman_core_distributed_worker_loader_trigger [fillcolor="#8b2222",weight="3"]; + ahriman_core_distributed_distributed_system -> ahriman_core_distributed_worker_trigger [fillcolor="#8b2222",weight="3"]; + ahriman_core_distributed_worker_loader_trigger -> ahriman_core_distributed [fillcolor="#b03a3a",weight="3"]; + ahriman_core_distributed_worker_trigger -> ahriman_core_distributed [fillcolor="#993333",weight="3"]; + ahriman_core_distributed_workers_cache -> ahriman_core_distributed [fillcolor="#a13535",weight="3"]; + ahriman_core_exceptions -> ahriman_application_application_application_packages [fillcolor="#ef0606",minlen="3"]; + ahriman_core_exceptions -> ahriman_application_handlers_handler [fillcolor="#ef0606",minlen="3"]; + ahriman_core_exceptions -> ahriman_application_handlers_search [fillcolor="#ef0606",minlen="3"]; + ahriman_core_exceptions -> ahriman_application_handlers_setup [fillcolor="#ef0606",minlen="3"]; + ahriman_core_exceptions -> ahriman_application_handlers_users [fillcolor="#ef0606",minlen="3"]; + ahriman_core_exceptions -> ahriman_application_handlers_validate [fillcolor="#ef0606",minlen="3"]; + ahriman_core_exceptions -> ahriman_application_lock [fillcolor="#ef0606",minlen="2"]; + ahriman_core_exceptions -> ahriman_core_alpm_pacman_database [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_alpm_pkgbuild_parser [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_alpm_remote_aur [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_alpm_remote_official [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_alpm_remote_official_syncdb [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_alpm_repo [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_auth_oauth [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_auth_pam [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_build_tools_package_archive [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_build_tools_sources [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_build_tools_task [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_configuration_configuration [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_gitremote_remote_pull [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_gitremote_remote_push [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_report_report [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_repository_update_handler [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_sign_gpg [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_status_watcher [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_support_pkgbuild_keyring_generator [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_tree [fillcolor="#ef0606",weight="2"]; + ahriman_core_exceptions -> ahriman_core_triggers_trigger_loader [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_upload_upload [fillcolor="#ef0606",minlen="2",weight="2"]; + ahriman_core_exceptions -> ahriman_core_utils [fillcolor="#ef0606",weight="2"]; + ahriman_core_exceptions -> ahriman_models_metrics_timer [fillcolor="#ef0606",minlen="2"]; + ahriman_core_exceptions -> ahriman_models_migration_result [fillcolor="#ef0606",minlen="2"]; + ahriman_core_exceptions -> ahriman_models_remote_source [fillcolor="#ef0606",minlen="2"]; + ahriman_core_exceptions -> ahriman_models_repository_paths [fillcolor="#ef0606",minlen="2"]; + ahriman_core_exceptions -> ahriman_web_views_base [fillcolor="#ef0606",minlen="3"]; + ahriman_core_exceptions -> ahriman_web_views_v1_packages_logs [fillcolor="#ef0606",minlen="3"]; + ahriman_core_exceptions -> ahriman_web_views_v1_packages_package [fillcolor="#ef0606",minlen="3"]; + ahriman_core_exceptions -> ahriman_web_web [fillcolor="#ef0606",minlen="2"]; + ahriman_core_formatters -> ahriman_application_application_application [fillcolor="#950303",minlen="3"]; + ahriman_core_formatters -> ahriman_application_handlers_change [fillcolor="#950303",minlen="3"]; + ahriman_core_formatters -> ahriman_application_handlers_dump [fillcolor="#950303",minlen="3"]; + ahriman_core_formatters -> ahriman_application_handlers_patch [fillcolor="#950303",minlen="3"]; + ahriman_core_formatters -> ahriman_application_handlers_remove_unknown [fillcolor="#950303",minlen="3"]; + ahriman_core_formatters -> ahriman_application_handlers_repositories [fillcolor="#950303",minlen="3"]; + ahriman_core_formatters -> ahriman_application_handlers_search [fillcolor="#950303",minlen="3"]; + ahriman_core_formatters -> ahriman_application_handlers_service_updates [fillcolor="#950303",minlen="3"]; + ahriman_core_formatters -> ahriman_application_handlers_shell [fillcolor="#950303",minlen="3"]; + ahriman_core_formatters -> ahriman_application_handlers_statistics [fillcolor="#950303",minlen="3"]; + ahriman_core_formatters -> ahriman_application_handlers_status [fillcolor="#950303",minlen="3"]; + ahriman_core_formatters -> ahriman_application_handlers_structure [fillcolor="#950303",minlen="3"]; + ahriman_core_formatters -> ahriman_application_handlers_unsafe_commands [fillcolor="#950303",minlen="3"]; + ahriman_core_formatters -> ahriman_application_handlers_users [fillcolor="#950303",minlen="3"]; + ahriman_core_formatters -> ahriman_application_handlers_validate [fillcolor="#950303",minlen="3"]; + ahriman_core_formatters -> ahriman_application_handlers_versions [fillcolor="#950303",minlen="3"]; + ahriman_core_formatters -> ahriman_core_report_console [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_core_formatters_aur_printer -> ahriman_core_formatters [fillcolor="#913030",weight="3"]; + ahriman_core_formatters_build_printer -> ahriman_core_formatters [fillcolor="#a13535",weight="3"]; + ahriman_core_formatters_changes_printer -> ahriman_core_formatters [fillcolor="#993333",weight="3"]; + ahriman_core_formatters_configuration_paths_printer -> ahriman_core_formatters [fillcolor="#a13535",weight="3"]; + ahriman_core_formatters_configuration_printer -> ahriman_core_formatters [fillcolor="#a13535",weight="3"]; + ahriman_core_formatters_event_stats_printer -> ahriman_core_formatters [fillcolor="#993333",weight="3"]; + ahriman_core_formatters_package_printer -> ahriman_core_formatters [fillcolor="#913030",weight="3"]; + ahriman_core_formatters_package_stats_printer -> ahriman_core_formatters [fillcolor="#a13535",weight="3"]; + ahriman_core_formatters_patch_printer -> ahriman_core_formatters [fillcolor="#993333",weight="3"]; + ahriman_core_formatters_printer -> ahriman_core_formatters [fillcolor="#d02424",weight="3"]; + ahriman_core_formatters_printer -> ahriman_core_formatters_changes_printer [fillcolor="#d02424",weight="3"]; + ahriman_core_formatters_printer -> ahriman_core_formatters_string_printer [fillcolor="#d02424",weight="3"]; + ahriman_core_formatters_repository_printer -> ahriman_core_formatters [fillcolor="#993333",weight="3"]; + ahriman_core_formatters_status_printer -> ahriman_core_formatters [fillcolor="#a13535",weight="3"]; + ahriman_core_formatters_string_printer -> ahriman_core_formatters [fillcolor="#e50505",weight="3"]; + ahriman_core_formatters_string_printer -> ahriman_core_formatters_aur_printer [fillcolor="#e50505",weight="3"]; + ahriman_core_formatters_string_printer -> ahriman_core_formatters_build_printer [fillcolor="#e50505",weight="3"]; + ahriman_core_formatters_string_printer -> ahriman_core_formatters_configuration_paths_printer [fillcolor="#e50505",weight="3"]; + ahriman_core_formatters_string_printer -> ahriman_core_formatters_configuration_printer [fillcolor="#e50505",weight="3"]; + ahriman_core_formatters_string_printer -> ahriman_core_formatters_event_stats_printer [fillcolor="#e50505",weight="3"]; + ahriman_core_formatters_string_printer -> ahriman_core_formatters_package_printer [fillcolor="#e50505",weight="3"]; + ahriman_core_formatters_string_printer -> ahriman_core_formatters_package_stats_printer [fillcolor="#e50505",weight="3"]; + ahriman_core_formatters_string_printer -> ahriman_core_formatters_patch_printer [fillcolor="#e50505",weight="3"]; + ahriman_core_formatters_string_printer -> ahriman_core_formatters_repository_printer [fillcolor="#e50505",weight="3"]; + ahriman_core_formatters_string_printer -> ahriman_core_formatters_status_printer [fillcolor="#e50505",weight="3"]; + ahriman_core_formatters_string_printer -> ahriman_core_formatters_tree_printer [fillcolor="#e50505",weight="3"]; + ahriman_core_formatters_string_printer -> ahriman_core_formatters_update_printer [fillcolor="#e50505",weight="3"]; + ahriman_core_formatters_string_printer -> ahriman_core_formatters_user_printer [fillcolor="#e50505",weight="3"]; + ahriman_core_formatters_string_printer -> ahriman_core_formatters_validation_printer [fillcolor="#e50505",weight="3"]; + ahriman_core_formatters_string_printer -> ahriman_core_formatters_version_printer [fillcolor="#e50505",weight="3"]; + ahriman_core_formatters_tree_printer -> ahriman_core_formatters [fillcolor="#993333",weight="3"]; + ahriman_core_formatters_update_printer -> ahriman_core_formatters [fillcolor="#913030",weight="3"]; + ahriman_core_formatters_user_printer -> ahriman_core_formatters [fillcolor="#993333",weight="3"]; + ahriman_core_formatters_validation_printer -> ahriman_core_formatters [fillcolor="#a13535",weight="3"]; + ahriman_core_formatters_version_printer -> ahriman_core_formatters [fillcolor="#a13535",weight="3"]; + ahriman_core_gitremote_remote_pull -> ahriman_core_gitremote_remote_pull_trigger [fillcolor="#732626",weight="3"]; + ahriman_core_gitremote_remote_pull_trigger -> ahriman_core_gitremote [fillcolor="#913030",weight="3"]; + ahriman_core_gitremote_remote_push -> ahriman_core_gitremote_remote_push_trigger [fillcolor="#732626",weight="3"]; + ahriman_core_gitremote_remote_push_trigger -> ahriman_core_gitremote [fillcolor="#7a2828",weight="3"]; + ahriman_core_http -> ahriman_application_application_workers_remote_updater [fillcolor="#db0505",minlen="3"]; + ahriman_core_http -> ahriman_core_alpm_pacman_database [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_http -> ahriman_core_alpm_remote_remote [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_http -> ahriman_core_report_telegram [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_http -> ahriman_core_sign_gpg [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_http -> ahriman_core_status_web_client [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_http -> ahriman_core_upload_http_upload [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_http -> ahriman_core_upload_remote_service [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_http_sync_ahriman_client -> ahriman_core_http [fillcolor="#a13535",weight="3"]; + ahriman_core_http_sync_http_client -> ahriman_core_http [fillcolor="#b42d2d",weight="3"]; + ahriman_core_http_sync_http_client -> ahriman_core_http_sync_ahriman_client [fillcolor="#b42d2d",weight="3"]; + ahriman_core_log -> ahriman_application_application_application_properties [fillcolor="#e50505",minlen="3"]; + ahriman_core_log -> ahriman_application_application_workers_updater [fillcolor="#e50505",minlen="3"]; + ahriman_core_log -> ahriman_application_handlers_handler [fillcolor="#e50505",minlen="3"]; + ahriman_core_log -> ahriman_application_lock [fillcolor="#e50505",minlen="2"]; + ahriman_core_log -> ahriman_core_alpm_pacman [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_core_alpm_repo [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_core_auth_auth [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_core_build_tools_sources [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_core_build_tools_task [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_core_database_migrations [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_core_database_operations_operations [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_core_distributed_workers_cache [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_core_gitremote_remote_pull [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_core_gitremote_remote_push [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_core_http_sync_http_client [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_core_report_report [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_core_repository_repository_properties [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_core_spawn [fillcolor="#e50505",weight="2"]; + ahriman_core_log -> ahriman_core_status_watcher [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_core_triggers_trigger [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_core_triggers_trigger_loader [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_core_upload_upload [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_log -> ahriman_models_package [fillcolor="#e50505",minlen="2"]; + ahriman_core_log -> ahriman_models_repository_paths [fillcolor="#e50505",minlen="2"]; + ahriman_core_log_http_log_handler -> ahriman_core_log_log_loader [fillcolor="#a13535",weight="3"]; + ahriman_core_log_lazy_logging -> ahriman_core_log [fillcolor="#b83d3d",weight="3"]; + ahriman_core_log_log_loader -> ahriman_application_handlers_handler [fillcolor="#822b2b",minlen="3"]; + ahriman_core_report_console -> ahriman_core_report_report [fillcolor="#822b2b",weight="3"]; + ahriman_core_report_email -> ahriman_core_report_report [fillcolor="#732626",weight="3"]; + ahriman_core_report_html -> ahriman_core_report_report [fillcolor="#822b2b",weight="3"]; + ahriman_core_report_jinja_template -> ahriman_core_report_email [fillcolor="#931010",weight="3"]; + ahriman_core_report_jinja_template -> ahriman_core_report_html [fillcolor="#931010",weight="3"]; + ahriman_core_report_jinja_template -> ahriman_core_report_rss [fillcolor="#931010",weight="3"]; + ahriman_core_report_jinja_template -> ahriman_core_report_telegram [fillcolor="#931010",weight="3"]; + ahriman_core_report_remote_call -> ahriman_core_report_report [fillcolor="#732626",weight="3"]; + ahriman_core_report_report -> ahriman_core_report_console [fillcolor="#950303",weight="3"]; + ahriman_core_report_report -> ahriman_core_report_email [fillcolor="#950303",weight="3"]; + ahriman_core_report_report -> ahriman_core_report_html [fillcolor="#950303",weight="3"]; + ahriman_core_report_report -> ahriman_core_report_remote_call [fillcolor="#950303",weight="3"]; + ahriman_core_report_report -> ahriman_core_report_report_trigger [fillcolor="#950303",weight="3"]; + ahriman_core_report_report -> ahriman_core_report_rss [fillcolor="#950303",weight="3"]; + ahriman_core_report_report -> ahriman_core_report_telegram [fillcolor="#950303",weight="3"]; + ahriman_core_report_report_trigger -> ahriman_core_report [fillcolor="#822b2b",weight="3"]; + ahriman_core_report_rss -> ahriman_core_report_report [fillcolor="#732626",weight="3"]; + ahriman_core_report_telegram -> ahriman_core_report_report [fillcolor="#7a2828",weight="3"]; + ahriman_core_repository -> ahriman_application_application_application_properties [fillcolor="#e50505",minlen="3"]; + ahriman_core_repository -> ahriman_application_application_workers_local_updater [fillcolor="#e50505",minlen="3"]; + ahriman_core_repository -> ahriman_application_application_workers_updater [fillcolor="#e50505",minlen="3"]; + ahriman_core_repository_cleaner -> ahriman_core_repository_executor [fillcolor="#bc2f2f",weight="3"]; + ahriman_core_repository_cleaner -> ahriman_core_repository_update_handler [fillcolor="#bc2f2f",weight="3"]; + ahriman_core_repository_event_logger -> ahriman_core_repository_repository_properties [fillcolor="#a13535",weight="3"]; + ahriman_core_repository_executor -> ahriman_core_repository_repository [fillcolor="#732626",weight="3"]; + ahriman_core_repository_package_info -> ahriman_core_repository_executor [fillcolor="#8b2222",weight="3"]; + ahriman_core_repository_package_info -> ahriman_core_repository_update_handler [fillcolor="#8b2222",weight="3"]; + ahriman_core_repository_repository -> ahriman_core_repository [fillcolor="#732626",weight="3"]; + ahriman_core_repository_repository_properties -> ahriman_core_repository_cleaner [fillcolor="#7a1e1e",weight="3"]; + ahriman_core_repository_repository_properties -> ahriman_core_repository_package_info [fillcolor="#7a1e1e",weight="3"]; + ahriman_core_repository_update_handler -> ahriman_core_repository_repository [fillcolor="#732626",weight="3"]; + ahriman_core_sign -> ahriman_core_report_jinja_template [fillcolor="#f91010",minlen="2",weight="2"]; + ahriman_core_sign -> ahriman_core_repository_repository [fillcolor="#f91010",minlen="2",weight="2"]; + ahriman_core_sign -> ahriman_core_repository_repository_properties [fillcolor="#f91010",minlen="2",weight="2"]; + ahriman_core_sign -> ahriman_core_support_keyring_trigger [fillcolor="#f91010",minlen="2",weight="2"]; + ahriman_core_sign -> ahriman_core_support_pkgbuild_keyring_generator [fillcolor="#f91010",minlen="2",weight="2"]; + ahriman_core_sign -> ahriman_core_upload_remote_service [fillcolor="#f91010",minlen="2",weight="2"]; + ahriman_core_sign -> ahriman_web_views_base [fillcolor="#f91010",minlen="3"]; + ahriman_core_sign_gpg -> ahriman_core_report_jinja_template [fillcolor="#bd0404",minlen="2",weight="2"]; + ahriman_core_sign_gpg -> ahriman_core_repository_repository [fillcolor="#bd0404",minlen="2",weight="2"]; + ahriman_core_sign_gpg -> ahriman_core_repository_repository_properties [fillcolor="#bd0404",minlen="2",weight="2"]; + ahriman_core_sign_gpg -> ahriman_core_support_keyring_trigger [fillcolor="#bd0404",minlen="2",weight="2"]; + ahriman_core_sign_gpg -> ahriman_core_support_pkgbuild_keyring_generator [fillcolor="#bd0404",minlen="2",weight="2"]; + ahriman_core_sign_gpg -> ahriman_core_upload_remote_service [fillcolor="#bd0404",minlen="2",weight="2"]; + ahriman_core_sign_gpg -> ahriman_web_views_base [fillcolor="#bd0404",minlen="3"]; + ahriman_core_spawn -> ahriman_application_handlers_web [fillcolor="#af1313",minlen="3"]; + ahriman_core_spawn -> ahriman_web_keys [fillcolor="#af1313",minlen="2"]; + ahriman_core_spawn -> ahriman_web_views_base [fillcolor="#af1313",minlen="3"]; + ahriman_core_spawn -> ahriman_web_web [fillcolor="#af1313",minlen="2"]; + ahriman_core_status -> ahriman_application_application_application_properties [fillcolor="#e50505",minlen="3"]; + ahriman_core_status -> ahriman_application_lock [fillcolor="#e50505",minlen="2"]; + ahriman_core_status -> ahriman_core_distributed_distributed_system [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_status -> ahriman_core_gitremote_remote_push [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_status -> ahriman_core_gitremote_remote_push_trigger [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_status -> ahriman_core_log_http_log_handler [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_status -> ahriman_core_report_remote_call [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_status -> ahriman_core_report_rss [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_status -> ahriman_core_repository_event_logger [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_status -> ahriman_core_repository_repository [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_status -> ahriman_core_repository_repository_properties [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_status -> ahriman_core_support_package_creator [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_status -> ahriman_core_upload_remote_service [fillcolor="#e50505",minlen="2",weight="2"]; + ahriman_core_status -> ahriman_web_keys [fillcolor="#e50505",minlen="2"]; + ahriman_core_status -> ahriman_web_views_base [fillcolor="#e50505",minlen="3"]; + ahriman_core_status -> ahriman_web_web [fillcolor="#e50505",minlen="2"]; + ahriman_core_status_client -> ahriman_core_status [fillcolor="#732626",weight="3"]; + ahriman_core_status_local_client -> ahriman_core_status_client [fillcolor="#732626",weight="3"]; + ahriman_core_status_watcher -> ahriman_web_keys [fillcolor="#821717",minlen="3"]; + ahriman_core_status_watcher -> ahriman_web_views_base [fillcolor="#821717",minlen="3"]; + ahriman_core_status_watcher -> ahriman_web_web [fillcolor="#821717",minlen="3"]; + ahriman_core_status_web_client -> ahriman_core_distributed_distributed_system [fillcolor="#8a0f0f",minlen="2",weight="2"]; + ahriman_core_status_web_client -> ahriman_core_report_remote_call [fillcolor="#8a0f0f",minlen="2",weight="2"]; + ahriman_core_status_web_client -> ahriman_core_status_client [fillcolor="#8a0f0f",weight="3"]; + ahriman_core_status_web_client -> ahriman_core_upload_remote_service [fillcolor="#8a0f0f",minlen="2",weight="2"]; + ahriman_core_support_keyring_trigger -> ahriman_core_support [fillcolor="#732626",weight="3"]; + ahriman_core_support_mirrorlist_trigger -> ahriman_core_support [fillcolor="#822b2b",weight="3"]; + ahriman_core_support_package_creator -> ahriman_core_support_keyring_trigger [fillcolor="#832020",weight="3"]; + ahriman_core_support_package_creator -> ahriman_core_support_mirrorlist_trigger [fillcolor="#832020",weight="3"]; + ahriman_core_support_pkgbuild -> ahriman_core_support_keyring_trigger [fillcolor="#f31616",weight="3"]; + ahriman_core_support_pkgbuild -> ahriman_core_support_mirrorlist_trigger [fillcolor="#f31616",weight="3"]; + ahriman_core_support_pkgbuild -> ahriman_core_support_package_creator [fillcolor="#f31616",weight="3"]; + ahriman_core_support_pkgbuild_keyring_generator -> ahriman_core_support_keyring_trigger [fillcolor="#732626",weight="3"]; + ahriman_core_support_pkgbuild_mirrorlist_generator -> ahriman_core_support_mirrorlist_trigger [fillcolor="#8a2e2e",weight="3"]; + ahriman_core_support_pkgbuild_pkgbuild_generator -> ahriman_core_support_package_creator [fillcolor="#bf2121",weight="3"]; + ahriman_core_support_pkgbuild_pkgbuild_generator -> ahriman_core_support_pkgbuild_keyring_generator [fillcolor="#bf2121",minlen="0",weight="4"]; + ahriman_core_support_pkgbuild_pkgbuild_generator -> ahriman_core_support_pkgbuild_mirrorlist_generator [fillcolor="#bf2121",minlen="0",weight="4"]; + ahriman_core_tree -> ahriman_application_application_application [fillcolor="#cc0a0a",minlen="3"]; + ahriman_core_tree -> ahriman_application_application_updates_iterator [fillcolor="#cc0a0a",minlen="3"]; + ahriman_core_tree -> ahriman_application_application_workers_local_updater [fillcolor="#cc0a0a",minlen="3"]; + ahriman_core_tree -> ahriman_application_application_workers_remote_updater [fillcolor="#cc0a0a",minlen="3"]; + ahriman_core_tree -> ahriman_application_handlers_structure [fillcolor="#cc0a0a",minlen="3"]; + ahriman_core_triggers -> ahriman_application_handlers_validate [fillcolor="#db0505",minlen="3"]; + ahriman_core_triggers -> ahriman_application_handlers_web [fillcolor="#db0505",minlen="3"]; + ahriman_core_triggers -> ahriman_core_distributed_distributed_system [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_triggers -> ahriman_core_gitremote_remote_pull_trigger [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_triggers -> ahriman_core_gitremote_remote_push_trigger [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_triggers -> ahriman_core_report_report_trigger [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_triggers -> ahriman_core_repository_repository_properties [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_triggers -> ahriman_core_support_keyring_trigger [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_triggers -> ahriman_core_support_mirrorlist_trigger [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_triggers -> ahriman_core_upload_upload_trigger [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_triggers_trigger -> ahriman_core_triggers [fillcolor="#8a2e2e",weight="3"]; + ahriman_core_triggers_trigger_loader -> ahriman_core_triggers [fillcolor="#822b2b",weight="3"]; + ahriman_core_types -> ahriman_application_handlers_handler [fillcolor="#c24747",minlen="3"]; + ahriman_core_upload_github -> ahriman_core_upload_upload [fillcolor="#7a2828",weight="3"]; + ahriman_core_upload_http_upload -> ahriman_core_upload_github [fillcolor="#c43131",weight="3"]; + ahriman_core_upload_http_upload -> ahriman_core_upload_remote_service [fillcolor="#c43131",weight="3"]; + ahriman_core_upload_remote_service -> ahriman_core_upload_upload [fillcolor="#732626",weight="3"]; + ahriman_core_upload_rsync -> ahriman_core_upload_upload [fillcolor="#8a2e2e",weight="3"]; + ahriman_core_upload_s3 -> ahriman_core_upload_upload [fillcolor="#822b2b",weight="3"]; + ahriman_core_upload_upload -> ahriman_core_upload_github [fillcolor="#910707",weight="3"]; + ahriman_core_upload_upload -> ahriman_core_upload_remote_service [fillcolor="#910707",weight="3"]; + ahriman_core_upload_upload -> ahriman_core_upload_rsync [fillcolor="#910707",weight="3"]; + ahriman_core_upload_upload -> ahriman_core_upload_s3 [fillcolor="#910707",weight="3"]; + ahriman_core_upload_upload -> ahriman_core_upload_upload_trigger [fillcolor="#910707",weight="3"]; + ahriman_core_upload_upload_trigger -> ahriman_core_upload [fillcolor="#822b2b",weight="3"]; + ahriman_core_utils -> ahriman_application_ahriman [fillcolor="#db0505",minlen="2"]; + ahriman_core_utils -> ahriman_application_application_application_packages [fillcolor="#db0505",minlen="3"]; + ahriman_core_utils -> ahriman_application_handlers_statistics [fillcolor="#db0505",minlen="3"]; + ahriman_core_utils -> ahriman_application_lock [fillcolor="#db0505",minlen="2"]; + ahriman_core_utils -> ahriman_core_alpm_pacman [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_alpm_repo [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_auth_pam [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_build_tools_package_archive [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_build_tools_sources [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_build_tools_task [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_formatters_aur_printer [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_formatters_event_stats_printer [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_formatters_update_printer [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_gitremote_remote_pull [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_report_email [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_report_jinja_template [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_repository_executor [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_repository_package_info [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_sign_gpg [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_support_pkgbuild_pkgbuild_generator [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_tree [fillcolor="#db0505",weight="2"]; + ahriman_core_utils -> ahriman_core_upload_github [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_upload_rsync [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_upload_s3 [fillcolor="#db0505",minlen="2",weight="2"]; + ahriman_core_utils -> ahriman_core_util [fillcolor="#db0505",weight="2"]; + ahriman_core_utils -> ahriman_models_aur_package [fillcolor="#db0505",minlen="2"]; + ahriman_core_utils -> ahriman_models_build_status [fillcolor="#db0505",minlen="2"]; + ahriman_core_utils -> ahriman_models_changes [fillcolor="#db0505",minlen="2"]; + ahriman_core_utils -> ahriman_models_counters [fillcolor="#db0505",minlen="2"]; + ahriman_core_utils -> ahriman_models_dependencies [fillcolor="#db0505",minlen="2"]; + ahriman_core_utils -> ahriman_models_event [fillcolor="#db0505",minlen="2"]; + ahriman_core_utils -> ahriman_models_filesystem_package [fillcolor="#db0505",minlen="2"]; + ahriman_core_utils -> ahriman_models_internal_status [fillcolor="#db0505",minlen="2"]; + ahriman_core_utils -> ahriman_models_package [fillcolor="#db0505",minlen="2"]; + ahriman_core_utils -> ahriman_models_package_description [fillcolor="#db0505",minlen="2"]; + ahriman_core_utils -> ahriman_models_package_source [fillcolor="#db0505",minlen="2"]; + ahriman_core_utils -> ahriman_models_pkgbuild_patch [fillcolor="#db0505",minlen="2"]; + ahriman_core_utils -> ahriman_models_remote_source [fillcolor="#db0505",minlen="2"]; + ahriman_core_utils -> ahriman_models_worker [fillcolor="#db0505",minlen="2"]; + ahriman_core_utils -> ahriman_web_views_api_swagger [fillcolor="#db0505",minlen="3"]; + ahriman_core_utils -> ahriman_web_views_v1_packages_logs [fillcolor="#db0505",minlen="3"]; + ahriman_models -> ahriman_application_ahriman [fillcolor="#f91010",minlen="2"]; + ahriman_models -> ahriman_application_application_application [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_application_application_packages [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_application_application_properties [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_application_application_repository [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_application_workers_local_updater [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_application_workers_remote_updater [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_application_workers_updater [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_add [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_backup [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_change [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_clean [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_copy [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_daemon [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_dump [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_handler [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_help [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_key_import [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_patch [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_rebuild [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_remove [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_remove_unknown [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_repositories [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_restore [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_run [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_search [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_service_updates [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_setup [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_shell [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_sign [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_statistics [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_status [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_status_update [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_structure [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_tree_migrate [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_triggers [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_unsafe_commands [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_update [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_users [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_validate [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_versions [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_handlers_web [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_application_lock [fillcolor="#f91010",minlen="2"]; + ahriman_models -> ahriman_core [fillcolor="#f91010"]; + ahriman_models -> ahriman_core_alpm_pacman [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_alpm_pkgbuild_parser [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_alpm_remote_aur [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_alpm_remote_official [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_alpm_remote_official_syncdb [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_alpm_remote_remote [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_alpm_repo [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_auth_auth [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_auth_mapping [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_auth_oauth [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_auth_pam [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_build_tools_package_archive [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_build_tools_sources [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_build_tools_task [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_configuration_configuration [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_database_migrations [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_database_operations_auth_operations [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_database_operations_build_operations [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_database_operations_changes_operations [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_database_operations_dependencies_operations [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_database_operations_event_operations [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_database_operations_logs_operations [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_database_operations_package_operations [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_database_operations_patch_operations [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_database_sqlite [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_distributed_distributed_system [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_distributed_worker_trigger [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_distributed_workers_cache [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_exceptions [fillcolor="#f91010",minlen="2"]; + ahriman_models -> ahriman_core_formatters_aur_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_formatters_build_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_formatters_changes_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_formatters_configuration_paths_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_formatters_configuration_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_formatters_event_stats_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_formatters_package_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_formatters_package_stats_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_formatters_patch_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_formatters_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_formatters_repository_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_formatters_status_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_formatters_tree_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_formatters_update_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_formatters_user_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_formatters_validation_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_formatters_version_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_gitremote_remote_pull [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_gitremote_remote_pull_trigger [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_gitremote_remote_push [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_gitremote_remote_push_trigger [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_log_http_log_handler [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_log_lazy_logging [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_log_log_loader [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_report_console [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_report_email [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_report_html [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_report_jinja_template [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_report_remote_call [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_report_report [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_report_report_trigger [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_report_rss [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_report_telegram [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_repository_event_logger [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_repository_executor [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_repository_package_info [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_repository_repository [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_repository_repository_properties [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_repository_update_handler [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_sign_gpg [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_spawn [fillcolor="#f91010",minlen="2"]; + ahriman_models -> ahriman_core_status_client [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_status_local_client [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_status_watcher [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_status_web_client [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_support_keyring_trigger [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_support_mirrorlist_trigger [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_support_package_creator [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_support_pkgbuild_keyring_generator [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_support_pkgbuild_mirrorlist_generator [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_support_pkgbuild_pkgbuild_generator [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_tree [fillcolor="#f91010",minlen="2"]; + ahriman_models -> ahriman_core_triggers_trigger [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_triggers_trigger_loader [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_upload_github [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_upload_remote_service [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_upload_rsync [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_upload_s3 [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_upload_upload [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_upload_upload_trigger [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_core_utils [fillcolor="#f91010",minlen="2"]; + ahriman_models -> ahriman_web_keys [fillcolor="#f91010",minlen="2"]; + ahriman_models -> ahriman_web_middlewares_auth_handler [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_schemas_event_schema [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_schemas_event_search_schema [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_schemas_package_status_schema [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_schemas_remote_schema [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_schemas_status_schema [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_api_docs [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_api_swagger [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_base [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_index [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_static [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_auditlog_events [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_distributed_workers [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_packages_changes [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_packages_dependencies [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_packages_logs [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_packages_package [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_packages_packages [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_packages_patch [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_packages_patches [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_service_add [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_service_pgp [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_service_process [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_service_rebuild [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_service_remove [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_service_request [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_service_search [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_service_update [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_service_upload [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_status_info [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_status_repositories [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_status_status [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_user_login [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v1_user_logout [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_views_v2_packages_logs [fillcolor="#f91010",minlen="3"]; + ahriman_models -> ahriman_web_web [fillcolor="#f91010",minlen="2"]; + ahriman_models_action -> ahriman_application_ahriman [fillcolor="#f31616",minlen="2"]; + ahriman_models_action -> ahriman_application_handlers_change [fillcolor="#f31616",minlen="3"]; + ahriman_models_action -> ahriman_application_handlers_patch [fillcolor="#f31616",minlen="3"]; + ahriman_models_action -> ahriman_application_handlers_status_update [fillcolor="#f31616",minlen="3"]; + ahriman_models_action -> ahriman_application_handlers_users [fillcolor="#f31616",minlen="3"]; + ahriman_models_aur_package -> ahriman_application_handlers_search [fillcolor="#db0505",minlen="3"]; + ahriman_models_aur_package -> ahriman_core_alpm_remote_aur [fillcolor="#db0505",minlen="3"]; + ahriman_models_aur_package -> ahriman_core_alpm_remote_official [fillcolor="#db0505",minlen="3"]; + ahriman_models_aur_package -> ahriman_core_alpm_remote_official_syncdb [fillcolor="#db0505",minlen="3"]; + ahriman_models_aur_package -> ahriman_core_alpm_remote_remote [fillcolor="#db0505",minlen="3"]; + ahriman_models_aur_package -> ahriman_core_formatters_aur_printer [fillcolor="#db0505",minlen="3"]; + ahriman_models_aur_package -> ahriman_models_package_description [fillcolor="#db0505",weight="2"]; + ahriman_models_aur_package -> ahriman_web_views_v1_service_search [fillcolor="#db0505",minlen="3"]; + ahriman_models_auth_settings -> ahriman_core_auth_auth [fillcolor="#e72222",minlen="3"]; + ahriman_models_auth_settings -> ahriman_core_auth_mapping [fillcolor="#e72222",minlen="3"]; + ahriman_models_auth_settings -> ahriman_core_auth_oauth [fillcolor="#e72222",minlen="3"]; + ahriman_models_auth_settings -> ahriman_core_auth_pam [fillcolor="#e72222",minlen="3"]; + ahriman_models_build_status -> ahriman_application_ahriman [fillcolor="#ef0606",minlen="2"]; + ahriman_models_build_status -> ahriman_application_handlers_copy [fillcolor="#ef0606",minlen="3"]; + ahriman_models_build_status -> ahriman_application_handlers_rebuild [fillcolor="#ef0606",minlen="3"]; + ahriman_models_build_status -> ahriman_application_handlers_status [fillcolor="#ef0606",minlen="3"]; + ahriman_models_build_status -> ahriman_application_lock [fillcolor="#ef0606",minlen="2"]; + ahriman_models_build_status -> ahriman_core_database_operations_package_operations [fillcolor="#ef0606",minlen="3"]; + ahriman_models_build_status -> ahriman_core_formatters_package_printer [fillcolor="#ef0606",minlen="3"]; + ahriman_models_build_status -> ahriman_core_formatters_status_printer [fillcolor="#ef0606",minlen="3"]; + ahriman_models_build_status -> ahriman_core_status_client [fillcolor="#ef0606",minlen="3"]; + ahriman_models_build_status -> ahriman_core_status_local_client [fillcolor="#ef0606",minlen="3"]; + ahriman_models_build_status -> ahriman_core_status_watcher [fillcolor="#ef0606",minlen="3"]; + ahriman_models_build_status -> ahriman_core_status_web_client [fillcolor="#ef0606",minlen="3"]; + ahriman_models_build_status -> ahriman_models_counters [fillcolor="#ef0606",weight="2"]; + ahriman_models_build_status -> ahriman_models_internal_status [fillcolor="#ef0606",weight="2"]; + ahriman_models_build_status -> ahriman_web_schemas_package_status_schema [fillcolor="#ef0606",minlen="3"]; + ahriman_models_build_status -> ahriman_web_schemas_status_schema [fillcolor="#ef0606",minlen="3"]; + ahriman_models_build_status -> ahriman_web_views_v1_packages_package [fillcolor="#ef0606",minlen="3"]; + ahriman_models_build_status -> ahriman_web_views_v1_packages_packages [fillcolor="#ef0606",minlen="3"]; + ahriman_models_build_status -> ahriman_web_views_v1_status_status [fillcolor="#ef0606",minlen="3"]; + ahriman_models_changes -> ahriman_application_handlers_change [fillcolor="#ef0606",minlen="3"]; + ahriman_models_changes -> ahriman_core_database_operations_changes_operations [fillcolor="#ef0606",minlen="3"]; + ahriman_models_changes -> ahriman_core_formatters_changes_printer [fillcolor="#ef0606",minlen="3"]; + ahriman_models_changes -> ahriman_core_repository_executor [fillcolor="#ef0606",minlen="3"]; + ahriman_models_changes -> ahriman_core_repository_package_info [fillcolor="#ef0606",minlen="3"]; + ahriman_models_changes -> ahriman_core_status_client [fillcolor="#ef0606",minlen="3"]; + ahriman_models_changes -> ahriman_core_status_local_client [fillcolor="#ef0606",minlen="3"]; + ahriman_models_changes -> ahriman_core_status_watcher [fillcolor="#ef0606",minlen="3"]; + ahriman_models_changes -> ahriman_core_status_web_client [fillcolor="#ef0606",minlen="3"]; + ahriman_models_changes -> ahriman_web_views_v1_packages_changes [fillcolor="#ef0606",minlen="3"]; + ahriman_models_context_key -> ahriman_core [fillcolor="#c24747",minlen="2"]; + ahriman_models_counters -> ahriman_models_internal_status [fillcolor="#ac2b2b",weight="2"]; + ahriman_models_counters -> ahriman_web_views_v1_status_status [fillcolor="#ac2b2b",minlen="3"]; + ahriman_models_dependencies -> ahriman_core_build_tools_package_archive [fillcolor="#ef0606",minlen="3"]; + ahriman_models_dependencies -> ahriman_core_database_operations_dependencies_operations [fillcolor="#ef0606",minlen="3"]; + ahriman_models_dependencies -> ahriman_core_status_client [fillcolor="#ef0606",minlen="3"]; + ahriman_models_dependencies -> ahriman_core_status_local_client [fillcolor="#ef0606",minlen="3"]; + ahriman_models_dependencies -> ahriman_core_status_watcher [fillcolor="#ef0606",minlen="3"]; + ahriman_models_dependencies -> ahriman_core_status_web_client [fillcolor="#ef0606",minlen="3"]; + ahriman_models_dependencies -> ahriman_web_views_v1_packages_dependencies [fillcolor="#ef0606",minlen="3"]; + ahriman_models_event -> ahriman_application_ahriman [fillcolor="#ef0606",minlen="2"]; + ahriman_models_event -> ahriman_application_handlers_statistics [fillcolor="#ef0606",minlen="3"]; + ahriman_models_event -> ahriman_core_database_operations_event_operations [fillcolor="#ef0606",minlen="3"]; + ahriman_models_event -> ahriman_core_report_rss [fillcolor="#ef0606",minlen="3"]; + ahriman_models_event -> ahriman_core_repository_event_logger [fillcolor="#ef0606",minlen="3"]; + ahriman_models_event -> ahriman_core_repository_executor [fillcolor="#ef0606",minlen="3"]; + ahriman_models_event -> ahriman_core_repository_update_handler [fillcolor="#ef0606",minlen="3"]; + ahriman_models_event -> ahriman_core_status_client [fillcolor="#ef0606",minlen="3"]; + ahriman_models_event -> ahriman_core_status_local_client [fillcolor="#ef0606",minlen="3"]; + ahriman_models_event -> ahriman_core_status_watcher [fillcolor="#ef0606",minlen="3"]; + ahriman_models_event -> ahriman_core_status_web_client [fillcolor="#ef0606",minlen="3"]; + ahriman_models_event -> ahriman_web_schemas_event_schema [fillcolor="#ef0606",minlen="3"]; + ahriman_models_event -> ahriman_web_schemas_event_search_schema [fillcolor="#ef0606",minlen="3"]; + ahriman_models_event -> ahriman_web_views_v1_auditlog_events [fillcolor="#ef0606",minlen="3"]; + ahriman_models_filesystem_package -> ahriman_core_build_tools_package_archive [fillcolor="#b83d3d",minlen="3"]; + ahriman_models_internal_status -> ahriman_core_status_client [fillcolor="#b62020",minlen="3"]; + ahriman_models_internal_status -> ahriman_core_status_web_client [fillcolor="#b62020",minlen="3"]; + ahriman_models_internal_status -> ahriman_web_views_v1_status_status [fillcolor="#b62020",minlen="3"]; + ahriman_models_log_handler -> ahriman_application_ahriman [fillcolor="#ce3b3b",minlen="2"]; + ahriman_models_log_handler -> ahriman_core_log_log_loader [fillcolor="#ce3b3b",minlen="3"]; + ahriman_models_log_record_id -> ahriman_core_database_operations_logs_operations [fillcolor="#f91010",minlen="3"]; + ahriman_models_log_record_id -> ahriman_core_log_lazy_logging [fillcolor="#f91010",minlen="3"]; + ahriman_models_log_record_id -> ahriman_core_status_client [fillcolor="#f91010",minlen="3"]; + ahriman_models_log_record_id -> ahriman_core_status_local_client [fillcolor="#f91010",minlen="3"]; + ahriman_models_log_record_id -> ahriman_core_status_watcher [fillcolor="#f91010",minlen="3"]; + ahriman_models_log_record_id -> ahriman_core_status_web_client [fillcolor="#f91010",minlen="3"]; + ahriman_models_log_record_id -> ahriman_web_views_v1_packages_logs [fillcolor="#f91010",minlen="3"]; + ahriman_models_metrics_timer -> ahriman_core_repository_event_logger [fillcolor="#d02424",minlen="3"]; + ahriman_models_metrics_timer -> ahriman_core_spawn [fillcolor="#d02424",minlen="2"]; + ahriman_models_metrics_timer -> ahriman_models_waiter [fillcolor="#d02424",weight="2"]; + ahriman_models_migration -> ahriman_core_database_migrations [fillcolor="#b83d3d",minlen="3"]; + ahriman_models_migration_result -> ahriman_core_database_migrations [fillcolor="#b83d3d",minlen="3"]; + ahriman_models_package -> ahriman_application_application_application [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_application_application_application_packages [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_application_application_application_repository [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_application_application_workers_local_updater [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_application_application_workers_remote_updater [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_application_application_workers_updater [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_application_handlers_copy [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_application_handlers_patch [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_application_handlers_rebuild [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_application_handlers_service_updates [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_application_handlers_status [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_build_tools_package_archive [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_build_tools_sources [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_build_tools_task [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_database_operations_build_operations [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_database_operations_package_operations [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_formatters_build_printer [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_formatters_package_printer [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_formatters_tree_printer [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_formatters_update_printer [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_gitremote_remote_pull [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_gitremote_remote_push [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_gitremote_remote_push_trigger [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_report_console [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_report_email [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_report_html [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_report_remote_call [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_report_report [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_report_report_trigger [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_report_rss [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_report_telegram [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_repository_executor [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_repository_package_info [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_repository_update_handler [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_status_client [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_status_local_client [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_status_watcher [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_status_web_client [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_support_package_creator [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_tree [fillcolor="#950303",minlen="2"]; + ahriman_models_package -> ahriman_core_triggers_trigger [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_triggers_trigger_loader [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_upload_github [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_upload_remote_service [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_upload_rsync [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_upload_s3 [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_upload_upload [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_core_upload_upload_trigger [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_models_counters [fillcolor="#950303",weight="2"]; + ahriman_models_package -> ahriman_models_result [fillcolor="#950303",weight="2"]; + ahriman_models_package -> ahriman_web_views_v1_packages_package [fillcolor="#950303",minlen="3"]; + ahriman_models_package -> ahriman_web_views_v1_packages_packages [fillcolor="#950303",minlen="3"]; + ahriman_models_package_description -> ahriman_core_database_operations_package_operations [fillcolor="#b62020",minlen="3"]; + ahriman_models_package_description -> ahriman_core_repository_executor [fillcolor="#b62020",minlen="3"]; + ahriman_models_package_description -> ahriman_models_package [fillcolor="#b62020",weight="2"]; + ahriman_models_package_source -> ahriman_application_ahriman [fillcolor="#db0505",minlen="2"]; + ahriman_models_package_source -> ahriman_application_application_application_packages [fillcolor="#db0505",minlen="3"]; + ahriman_models_package_source -> ahriman_application_handlers_copy [fillcolor="#db0505",minlen="3"]; + ahriman_models_package_source -> ahriman_core_gitremote_remote_pull [fillcolor="#db0505",minlen="3"]; + ahriman_models_package_source -> ahriman_core_gitremote_remote_push [fillcolor="#db0505",minlen="3"]; + ahriman_models_package_source -> ahriman_core_repository_update_handler [fillcolor="#db0505",minlen="3"]; + ahriman_models_package_source -> ahriman_models_package [fillcolor="#db0505",weight="2"]; + ahriman_models_package_source -> ahriman_models_remote_source [fillcolor="#db0505",weight="2"]; + ahriman_models_package_source -> ahriman_web_schemas_remote_schema [fillcolor="#db0505",minlen="3"]; + ahriman_models_packagers -> ahriman_application_application_application_repository [fillcolor="#f91010",minlen="3"]; + ahriman_models_packagers -> ahriman_application_application_workers_local_updater [fillcolor="#f91010",minlen="3"]; + ahriman_models_packagers -> ahriman_application_application_workers_remote_updater [fillcolor="#f91010",minlen="3"]; + ahriman_models_packagers -> ahriman_application_application_workers_updater [fillcolor="#f91010",minlen="3"]; + ahriman_models_packagers -> ahriman_application_handlers_add [fillcolor="#f91010",minlen="3"]; + ahriman_models_packagers -> ahriman_application_handlers_rebuild [fillcolor="#f91010",minlen="3"]; + ahriman_models_packagers -> ahriman_application_handlers_update [fillcolor="#f91010",minlen="3"]; + ahriman_models_packagers -> ahriman_core_repository_executor [fillcolor="#f91010",minlen="3"]; + ahriman_models_packagers -> ahriman_core_repository_repository_properties [fillcolor="#f91010",minlen="3"]; + ahriman_models_pacman_synchronization -> ahriman_application_application_application_properties [fillcolor="#e72222",minlen="3"]; + ahriman_models_pacman_synchronization -> ahriman_core_alpm_pacman [fillcolor="#e72222",minlen="3"]; + ahriman_models_pacman_synchronization -> ahriman_core_repository_repository [fillcolor="#e72222",minlen="3"]; + ahriman_models_pacman_synchronization -> ahriman_core_repository_repository_properties [fillcolor="#e72222",minlen="3"]; + ahriman_models_pkgbuild -> ahriman_models_package [fillcolor="#a13535",weight="2"]; + ahriman_models_pkgbuild_patch -> ahriman_application_handlers_add [fillcolor="#db0505",minlen="3"]; + ahriman_models_pkgbuild_patch -> ahriman_application_handlers_patch [fillcolor="#db0505",minlen="3"]; + ahriman_models_pkgbuild_patch -> ahriman_core_alpm_pkgbuild_parser [fillcolor="#db0505",minlen="3"]; + ahriman_models_pkgbuild_patch -> ahriman_core_build_tools_sources [fillcolor="#db0505",minlen="3"]; + ahriman_models_pkgbuild_patch -> ahriman_core_build_tools_task [fillcolor="#db0505",minlen="3"]; + ahriman_models_pkgbuild_patch -> ahriman_core_database_operations_patch_operations [fillcolor="#db0505",minlen="3"]; + ahriman_models_pkgbuild_patch -> ahriman_core_formatters_patch_printer [fillcolor="#db0505",minlen="3"]; + ahriman_models_pkgbuild_patch -> ahriman_core_spawn [fillcolor="#db0505",minlen="2"]; + ahriman_models_pkgbuild_patch -> ahriman_core_status_client [fillcolor="#db0505",minlen="3"]; + ahriman_models_pkgbuild_patch -> ahriman_core_status_local_client [fillcolor="#db0505",minlen="3"]; + ahriman_models_pkgbuild_patch -> ahriman_core_status_watcher [fillcolor="#db0505",minlen="3"]; + ahriman_models_pkgbuild_patch -> ahriman_core_status_web_client [fillcolor="#db0505",minlen="3"]; + ahriman_models_pkgbuild_patch -> ahriman_core_support_pkgbuild_mirrorlist_generator [fillcolor="#db0505",minlen="3"]; + ahriman_models_pkgbuild_patch -> ahriman_core_support_pkgbuild_pkgbuild_generator [fillcolor="#db0505",minlen="3"]; + ahriman_models_pkgbuild_patch -> ahriman_models_pkgbuild [fillcolor="#db0505",weight="2"]; + ahriman_models_pkgbuild_patch -> ahriman_web_views_v1_packages_patches [fillcolor="#db0505",minlen="3"]; + ahriman_models_pkgbuild_patch -> ahriman_web_views_v1_service_add [fillcolor="#db0505",minlen="3"]; + ahriman_models_pkgbuild_patch -> ahriman_web_views_v1_service_request [fillcolor="#db0505",minlen="3"]; + ahriman_models_process_status -> ahriman_core_spawn [fillcolor="#c24747",minlen="2"]; + ahriman_models_property -> ahriman_core_formatters_aur_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models_property -> ahriman_core_formatters_changes_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models_property -> ahriman_core_formatters_configuration_paths_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models_property -> ahriman_core_formatters_configuration_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models_property -> ahriman_core_formatters_event_stats_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models_property -> ahriman_core_formatters_package_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models_property -> ahriman_core_formatters_package_stats_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models_property -> ahriman_core_formatters_patch_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models_property -> ahriman_core_formatters_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models_property -> ahriman_core_formatters_repository_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models_property -> ahriman_core_formatters_tree_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models_property -> ahriman_core_formatters_update_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models_property -> ahriman_core_formatters_user_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models_property -> ahriman_core_formatters_validation_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models_property -> ahriman_core_formatters_version_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models_remote_source -> ahriman_core_build_tools_sources [fillcolor="#d10505",minlen="3"]; + ahriman_models_remote_source -> ahriman_core_database_operations_package_operations [fillcolor="#d10505",minlen="3"]; + ahriman_models_remote_source -> ahriman_core_gitremote_remote_pull [fillcolor="#d10505",minlen="3"]; + ahriman_models_remote_source -> ahriman_core_gitremote_remote_push [fillcolor="#d10505",minlen="3"]; + ahriman_models_remote_source -> ahriman_core_repository_update_handler [fillcolor="#d10505",minlen="3"]; + ahriman_models_remote_source -> ahriman_models_package [fillcolor="#d10505",weight="2"]; + ahriman_models_report_settings -> ahriman_core_report_report [fillcolor="#c24747",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_application_application_properties [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_application_workers_remote_updater [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_application_workers_updater [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_add [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_backup [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_change [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_clean [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_copy [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_daemon [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_dump [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_handler [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_help [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_key_import [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_patch [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_rebuild [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_remove [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_remove_unknown [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_repositories [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_restore [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_run [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_search [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_service_updates [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_setup [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_shell [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_sign [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_statistics [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_status [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_status_update [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_structure [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_tree_migrate [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_triggers [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_unsafe_commands [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_update [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_users [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_validate [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_versions [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_handlers_web [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_application_lock [fillcolor="#f91010",minlen="2"]; + ahriman_models_repository_id -> ahriman_core_alpm_pacman [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_configuration_configuration [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_database_operations_build_operations [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_database_operations_changes_operations [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_database_operations_dependencies_operations [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_database_operations_event_operations [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_database_operations_logs_operations [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_database_operations_package_operations [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_database_sqlite [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_distributed_distributed_system [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_distributed_worker_trigger [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_exceptions [fillcolor="#f91010",minlen="2"]; + ahriman_models_repository_id -> ahriman_core_formatters_repository_printer [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_gitremote_remote_pull [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_gitremote_remote_pull_trigger [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_gitremote_remote_push_trigger [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_log_http_log_handler [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_log_log_loader [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_report_console [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_report_email [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_report_html [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_report_jinja_template [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_report_remote_call [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_report_report [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_report_report_trigger [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_report_rss [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_report_telegram [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_repository_repository [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_repository_repository_properties [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_spawn [fillcolor="#f91010",minlen="2"]; + ahriman_models_repository_id -> ahriman_core_status_client [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_status_local_client [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_status_web_client [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_support_keyring_trigger [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_support_mirrorlist_trigger [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_support_pkgbuild_keyring_generator [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_support_pkgbuild_mirrorlist_generator [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_triggers_trigger [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_triggers_trigger_loader [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_upload_github [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_upload_remote_service [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_upload_rsync [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_upload_s3 [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_upload_upload [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_core_upload_upload_trigger [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_models_repository_paths [fillcolor="#f91010",weight="2"]; + ahriman_models_repository_id -> ahriman_web_keys [fillcolor="#f91010",minlen="2"]; + ahriman_models_repository_id -> ahriman_web_views_base [fillcolor="#f91010",minlen="3"]; + ahriman_models_repository_id -> ahriman_web_web [fillcolor="#f91010",minlen="2"]; + ahriman_models_repository_paths -> ahriman_application_handlers_handler [fillcolor="#d10505",minlen="3"]; + ahriman_models_repository_paths -> ahriman_application_handlers_setup [fillcolor="#d10505",minlen="3"]; + ahriman_models_repository_paths -> ahriman_application_handlers_tree_migrate [fillcolor="#d10505",minlen="3"]; + ahriman_models_repository_paths -> ahriman_core_alpm_repo [fillcolor="#d10505",minlen="3"]; + ahriman_models_repository_paths -> ahriman_core_build_tools_sources [fillcolor="#d10505",minlen="3"]; + ahriman_models_repository_paths -> ahriman_core_build_tools_task [fillcolor="#d10505",minlen="3"]; + ahriman_models_repository_paths -> ahriman_core_configuration_configuration [fillcolor="#d10505",minlen="3"]; + ahriman_models_repository_paths -> ahriman_core_repository_repository_properties [fillcolor="#d10505",minlen="3"]; + ahriman_models_repository_paths -> ahriman_core_utils [fillcolor="#d10505",minlen="2"]; + ahriman_models_repository_paths -> ahriman_models_package_source [fillcolor="#d10505",weight="2"]; + ahriman_models_repository_paths -> ahriman_web_views_v1_service_upload [fillcolor="#d10505",minlen="3"]; + ahriman_models_result -> ahriman_application_application_application [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_application_application_application_packages [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_application_application_application_repository [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_application_application_workers_local_updater [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_application_application_workers_remote_updater [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_application_application_workers_updater [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_application_handlers_triggers [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_core_gitremote_remote_push [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_core_gitremote_remote_push_trigger [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_core_report_console [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_core_report_email [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_core_report_html [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_core_report_jinja_template [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_core_report_remote_call [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_core_report_report [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_core_report_report_trigger [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_core_report_rss [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_core_report_telegram [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_core_repository_executor [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_core_triggers_trigger [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_core_triggers_trigger_loader [fillcolor="#ef0606",minlen="3"]; + ahriman_models_result -> ahriman_core_upload_upload_trigger [fillcolor="#ef0606",minlen="3"]; + ahriman_models_scan_paths -> ahriman_core_build_tools_package_archive [fillcolor="#ce3b3b",minlen="3"]; + ahriman_models_scan_paths -> ahriman_core_repository_repository_properties [fillcolor="#ce3b3b",minlen="3"]; + ahriman_models_sign_settings -> ahriman_application_ahriman [fillcolor="#db2f2f",minlen="2"]; + ahriman_models_sign_settings -> ahriman_core_report_jinja_template [fillcolor="#db2f2f",minlen="3"]; + ahriman_models_sign_settings -> ahriman_core_sign_gpg [fillcolor="#db2f2f",minlen="3"]; + ahriman_models_smtp_ssl_settings -> ahriman_core_report_email [fillcolor="#c24747",minlen="3"]; + ahriman_models_upload_settings -> ahriman_core_upload_upload [fillcolor="#c24747",minlen="3"]; + ahriman_models_user -> ahriman_application_handlers_setup [fillcolor="#db0505",minlen="3"]; + ahriman_models_user -> ahriman_application_handlers_users [fillcolor="#db0505",minlen="3"]; + ahriman_models_user -> ahriman_core_auth_mapping [fillcolor="#db0505",minlen="3"]; + ahriman_models_user -> ahriman_core_database_operations_auth_operations [fillcolor="#db0505",minlen="3"]; + ahriman_models_user -> ahriman_core_formatters_user_printer [fillcolor="#db0505",minlen="3"]; + ahriman_models_user -> ahriman_core_repository_repository_properties [fillcolor="#db0505",minlen="3"]; + ahriman_models_user_access -> ahriman_application_ahriman [fillcolor="#f91010",minlen="2"]; + ahriman_models_user_access -> ahriman_core_auth_auth [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_core_auth_mapping [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_core_auth_pam [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_core_database_operations_auth_operations [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_core_repository_repository_properties [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_models_user [fillcolor="#f91010",weight="2"]; + ahriman_models_user_access -> ahriman_web_middlewares_auth_handler [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_api_docs [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_api_swagger [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_base [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_index [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_static [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_auditlog_events [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_distributed_workers [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_packages_changes [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_packages_dependencies [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_packages_logs [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_packages_package [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_packages_packages [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_packages_patch [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_packages_patches [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_service_add [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_service_pgp [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_service_process [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_service_rebuild [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_service_remove [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_service_request [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_service_search [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_service_update [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_service_upload [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_status_info [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_status_repositories [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_status_status [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_user_login [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v1_user_logout [fillcolor="#f91010",minlen="3"]; + ahriman_models_user_access -> ahriman_web_views_v2_packages_logs [fillcolor="#f91010",minlen="3"]; + ahriman_models_waiter -> ahriman_application_lock [fillcolor="#c43131",minlen="2"]; + ahriman_models_waiter -> ahriman_core_report_remote_call [fillcolor="#c43131",minlen="3"]; + ahriman_models_worker -> ahriman_application_application_workers_remote_updater [fillcolor="#e90c0c",minlen="3"]; + ahriman_models_worker -> ahriman_application_application_workers_updater [fillcolor="#e90c0c",minlen="3"]; + ahriman_models_worker -> ahriman_core_distributed_distributed_system [fillcolor="#e90c0c",minlen="3"]; + ahriman_models_worker -> ahriman_core_distributed_workers_cache [fillcolor="#e90c0c",minlen="3"]; + ahriman_models_worker -> ahriman_web_views_v1_distributed_workers [fillcolor="#e90c0c",minlen="3"]; + ahriman_web -> ahriman_application_handlers_web [fillcolor="#f91010",minlen="3"]; + ahriman_web_apispec -> ahriman_web_web [fillcolor="#a13535",weight="2"]; + ahriman_web_cors -> ahriman_web_web [fillcolor="#b03a3a",weight="2"]; + ahriman_web_keys -> ahriman_web_apispec [fillcolor="#821717",weight="2"]; + ahriman_web_keys -> ahriman_web_views_base [fillcolor="#821717",minlen="2",weight="2"]; + ahriman_web_keys -> ahriman_web_web [fillcolor="#821717",weight="2"]; + ahriman_web_middlewares -> ahriman_web_web [fillcolor="#d02424",weight="2"]; + ahriman_web_middlewares_auth_handler -> ahriman_web_web [fillcolor="#732626",minlen="2",weight="2"]; + ahriman_web_middlewares_exception_handler -> ahriman_web_web [fillcolor="#993333",minlen="2",weight="2"]; + ahriman_web_routes -> ahriman_web_web [fillcolor="#913030",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_auditlog_events [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_distributed_workers [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_packages_changes [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_packages_dependencies [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_packages_logs [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_packages_package [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_packages_packages [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_packages_patch [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_packages_patches [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_service_add [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_service_pgp [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_service_process [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_service_rebuild [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_service_remove [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_service_request [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_service_search [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_service_update [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_service_upload [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_status_info [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_status_repositories [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_status_status [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_user_login [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v1_user_logout [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas -> ahriman_web_views_v2_packages_logs [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_schemas_aur_package_schema -> ahriman_web_schemas [fillcolor="#b83d3d",weight="3"]; + ahriman_web_schemas_auth_schema -> ahriman_web_schemas [fillcolor="#b83d3d",weight="3"]; + ahriman_web_schemas_build_options_schema -> ahriman_web_schemas [fillcolor="#d02424",weight="3"]; + ahriman_web_schemas_build_options_schema -> ahriman_web_schemas_package_names_schema [fillcolor="#d02424",weight="3"]; + ahriman_web_schemas_build_options_schema -> ahriman_web_schemas_update_flags_schema [fillcolor="#d02424",weight="3"]; + ahriman_web_schemas_changes_schema -> ahriman_web_schemas [fillcolor="#b83d3d",weight="3"]; + ahriman_web_schemas_counters_schema -> ahriman_web_schemas [fillcolor="#c43131",weight="3"]; + ahriman_web_schemas_counters_schema -> ahriman_web_schemas_internal_status_schema [fillcolor="#c43131",weight="3"]; + ahriman_web_schemas_dependencies_schema -> ahriman_web_schemas [fillcolor="#b83d3d",weight="3"]; + ahriman_web_schemas_error_schema -> ahriman_web_schemas [fillcolor="#b83d3d",weight="3"]; + ahriman_web_schemas_event_schema -> ahriman_web_schemas [fillcolor="#a83838",weight="3"]; + ahriman_web_schemas_event_search_schema -> ahriman_web_schemas [fillcolor="#913030",weight="3"]; + ahriman_web_schemas_file_schema -> ahriman_web_schemas [fillcolor="#b83d3d",weight="3"]; + ahriman_web_schemas_info_schema -> ahriman_web_schemas [fillcolor="#a13535",weight="3"]; + ahriman_web_schemas_internal_status_schema -> ahriman_web_schemas [fillcolor="#913030",weight="3"]; + ahriman_web_schemas_log_schema -> ahriman_web_schemas [fillcolor="#c43131",weight="3"]; + ahriman_web_schemas_log_schema -> ahriman_web_schemas_versioned_log_schema [fillcolor="#c43131",weight="3"]; + ahriman_web_schemas_login_schema -> ahriman_web_schemas [fillcolor="#b83d3d",weight="3"]; + ahriman_web_schemas_logs_schema -> ahriman_web_schemas [fillcolor="#a13535",weight="3"]; + ahriman_web_schemas_oauth2_schema -> ahriman_web_schemas [fillcolor="#b83d3d",weight="3"]; + ahriman_web_schemas_package_name_schema -> ahriman_web_schemas [fillcolor="#c43131",weight="3"]; + ahriman_web_schemas_package_name_schema -> ahriman_web_schemas_patch_name_schema [fillcolor="#c43131",weight="3"]; + ahriman_web_schemas_package_names_schema -> ahriman_web_schemas [fillcolor="#ac2b2b",weight="3"]; + ahriman_web_schemas_package_names_schema -> ahriman_web_schemas_package_patch_schema [fillcolor="#ac2b2b",weight="3"]; + ahriman_web_schemas_package_patch_schema -> ahriman_web_schemas [fillcolor="#993333",weight="3"]; + ahriman_web_schemas_package_properties_schema -> ahriman_web_schemas [fillcolor="#c43131",weight="3"]; + ahriman_web_schemas_package_properties_schema -> ahriman_web_schemas_package_schema [fillcolor="#c43131",weight="3"]; + ahriman_web_schemas_package_schema -> ahriman_web_schemas [fillcolor="#a32828",weight="3"]; + ahriman_web_schemas_package_schema -> ahriman_web_schemas_package_status_schema [fillcolor="#a32828",weight="3"]; + ahriman_web_schemas_package_status_schema -> ahriman_web_schemas [fillcolor="#822b2b",weight="3"]; + ahriman_web_schemas_package_version_schema -> ahriman_web_schemas [fillcolor="#a13535",weight="3"]; + ahriman_web_schemas_pagination_schema -> ahriman_web_schemas [fillcolor="#ac2b2b",weight="3"]; + ahriman_web_schemas_pagination_schema -> ahriman_web_schemas_event_search_schema [fillcolor="#ac2b2b",weight="3"]; + ahriman_web_schemas_patch_name_schema -> ahriman_web_schemas [fillcolor="#a13535",weight="3"]; + ahriman_web_schemas_patch_schema -> ahriman_web_schemas [fillcolor="#c43131",weight="3"]; + ahriman_web_schemas_patch_schema -> ahriman_web_schemas_package_patch_schema [fillcolor="#c43131",weight="3"]; + ahriman_web_schemas_pgp_key_id_schema -> ahriman_web_schemas [fillcolor="#b83d3d",weight="3"]; + ahriman_web_schemas_pgp_key_schema -> ahriman_web_schemas [fillcolor="#b83d3d",weight="3"]; + ahriman_web_schemas_process_id_schema -> ahriman_web_schemas [fillcolor="#b83d3d",weight="3"]; + ahriman_web_schemas_process_schema -> ahriman_web_schemas [fillcolor="#b83d3d",weight="3"]; + ahriman_web_schemas_remote_schema -> ahriman_web_schemas [fillcolor="#b42d2d",weight="3"]; + ahriman_web_schemas_remote_schema -> ahriman_web_schemas_package_schema [fillcolor="#b42d2d",weight="3"]; + ahriman_web_schemas_repository_id_schema -> ahriman_web_schemas [fillcolor="#ef0606",weight="3"]; + ahriman_web_schemas_repository_id_schema -> ahriman_web_schemas_info_schema [fillcolor="#ef0606",weight="3"]; + ahriman_web_schemas_repository_id_schema -> ahriman_web_schemas_internal_status_schema [fillcolor="#ef0606",weight="3"]; + ahriman_web_schemas_repository_id_schema -> ahriman_web_schemas_package_status_schema [fillcolor="#ef0606",weight="3"]; + ahriman_web_schemas_repository_id_schema -> ahriman_web_schemas_package_version_schema [fillcolor="#ef0606",weight="3"]; + ahriman_web_schemas_repository_id_schema -> ahriman_web_schemas_pagination_schema [fillcolor="#ef0606",weight="3"]; + ahriman_web_schemas_repository_id_schema -> ahriman_web_schemas_versioned_log_schema [fillcolor="#ef0606",weight="3"]; + ahriman_web_schemas_search_schema -> ahriman_web_schemas [fillcolor="#b83d3d",weight="3"]; + ahriman_web_schemas_status_schema -> ahriman_web_schemas [fillcolor="#ca1616",weight="3"]; + ahriman_web_schemas_status_schema -> ahriman_web_schemas_internal_status_schema [fillcolor="#ca1616",weight="3"]; + ahriman_web_schemas_status_schema -> ahriman_web_schemas_logs_schema [fillcolor="#ca1616",weight="3"]; + ahriman_web_schemas_status_schema -> ahriman_web_schemas_package_status_schema [fillcolor="#ca1616",weight="3"]; + ahriman_web_schemas_update_flags_schema -> ahriman_web_schemas [fillcolor="#a13535",weight="3"]; + ahriman_web_schemas_versioned_log_schema -> ahriman_web_schemas [fillcolor="#993333",weight="3"]; + ahriman_web_schemas_worker_schema -> ahriman_web_schemas [fillcolor="#b83d3d",weight="3"]; + ahriman_web_views -> ahriman_web_routes [fillcolor="#f91010",weight="2"]; + ahriman_web_views_base -> ahriman_web_routes [fillcolor="#950303",minlen="2",weight="2"]; + ahriman_web_views_base -> ahriman_web_views_api_docs [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_api_swagger [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_index [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_static [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_auditlog_events [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_distributed_workers [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_packages_changes [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_packages_dependencies [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_packages_logs [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_packages_package [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_packages_packages [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_packages_patch [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_packages_patches [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_service_add [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_service_pgp [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_service_process [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_service_rebuild [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_service_remove [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_service_request [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_service_search [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_service_update [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_service_upload [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_status_info [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_status_repositories [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_status_status [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_user_login [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v1_user_logout [fillcolor="#950303",weight="3"]; + ahriman_web_views_base -> ahriman_web_views_v2_packages_logs [fillcolor="#950303",weight="3"]; + ahriman_web_views_status_view_guard -> ahriman_web_views_v1_packages_changes [fillcolor="#ef0606",weight="3"]; + ahriman_web_views_status_view_guard -> ahriman_web_views_v1_packages_dependencies [fillcolor="#ef0606",weight="3"]; + ahriman_web_views_status_view_guard -> ahriman_web_views_v1_packages_logs [fillcolor="#ef0606",weight="3"]; + ahriman_web_views_status_view_guard -> ahriman_web_views_v1_packages_package [fillcolor="#ef0606",weight="3"]; + ahriman_web_views_status_view_guard -> ahriman_web_views_v1_packages_packages [fillcolor="#ef0606",weight="3"]; + ahriman_web_views_status_view_guard -> ahriman_web_views_v1_packages_patch [fillcolor="#ef0606",weight="3"]; + ahriman_web_views_status_view_guard -> ahriman_web_views_v1_packages_patches [fillcolor="#ef0606",weight="3"]; + ahriman_web_views_status_view_guard -> ahriman_web_views_v1_status_status [fillcolor="#ef0606",weight="3"]; + ahriman_web_views_status_view_guard -> ahriman_web_views_v2_packages_logs [fillcolor="#ef0606",weight="3"]; + ahriman_web_web -> ahriman_application_handlers_web [fillcolor="#732626",minlen="3"]; + aioauth_client -> ahriman_core_auth_oauth [fillcolor="#c06440",minlen="4"]; + aiohttp -> ahriman_web_apispec [fillcolor="#f99106",minlen="2"]; + aiohttp -> ahriman_web_cors [fillcolor="#f99106",minlen="2"]; + aiohttp -> ahriman_web_keys [fillcolor="#f99106",minlen="2"]; + aiohttp -> ahriman_web_middlewares [fillcolor="#f99106",minlen="2"]; + aiohttp -> ahriman_web_middlewares_auth_handler [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_middlewares_exception_handler [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_routes [fillcolor="#f99106",minlen="2"]; + aiohttp -> ahriman_web_views_api_swagger [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_base [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_static [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_auditlog_events [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_distributed_workers [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_packages_changes [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_packages_dependencies [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_packages_logs [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_packages_package [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_packages_packages [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_packages_patch [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_packages_patches [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_service_add [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_service_pgp [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_service_process [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_service_rebuild [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_service_remove [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_service_request [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_service_search [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_service_update [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_service_upload [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_status_info [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_status_repositories [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_status_status [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_user_login [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v1_user_logout [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_views_v2_packages_logs [fillcolor="#f99106",minlen="3"]; + aiohttp -> ahriman_web_web [fillcolor="#f99106",minlen="2"]; + aiohttp -> aiohttp_cors [fillcolor="#f99106",minlen="2"]; + aiohttp -> aiohttp_jinja2 [fillcolor="#f99106",minlen="2"]; + aiohttp -> aiohttp_session [fillcolor="#f99106",minlen="2"]; + aiohttp_apispec -> ahriman_web_apispec [fillcolor="#f9d810",minlen="3"]; + aiohttp_apispec -> ahriman_web_views_v1_auditlog_events [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_distributed_workers [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_packages_changes [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_packages_dependencies [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_packages_logs [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_packages_package [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_packages_packages [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_packages_patch [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_packages_patches [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_service_add [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_service_pgp [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_service_process [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_service_rebuild [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_service_remove [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_service_request [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_service_search [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_service_update [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_service_upload [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_status_info [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_status_repositories [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_status_status [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_user_login [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v1_user_logout [fillcolor="#f9d810",minlen="4"]; + aiohttp_apispec -> ahriman_web_views_v2_packages_logs [fillcolor="#f9d810",minlen="4"]; + aiohttp_cors -> ahriman_web_cors [fillcolor="#a6b83d",minlen="3"]; + aiohttp_cors -> ahriman_web_views_base [fillcolor="#a6b83d",minlen="4"]; + aiohttp_jinja2 -> ahriman_web_middlewares_exception_handler [fillcolor="#81c823",minlen="4"]; + aiohttp_jinja2 -> ahriman_web_views_api_docs [fillcolor="#81c823",minlen="4"]; + aiohttp_jinja2 -> ahriman_web_views_index [fillcolor="#81c823",minlen="4"]; + aiohttp_jinja2 -> ahriman_web_web [fillcolor="#81c823",minlen="3"]; + aiohttp_security -> ahriman_core_auth_helpers [fillcolor="#6ac247",minlen="4"]; + aiohttp_security -> ahriman_web_middlewares_auth_handler [fillcolor="#6ac247",minlen="4"]; + aiohttp_session -> ahriman_web_middlewares_auth_handler [fillcolor="#3db83d",minlen="4"]; + boto3 -> ahriman_core_upload_s3 [fillcolor="#40c064",minlen="4"]; + cerberus -> ahriman_core_configuration_validator [fillcolor="#40c089",minlen="4"]; + cryptography -> ahriman_web_middlewares_auth_handler [fillcolor="#19e6c9",minlen="4"]; + cryptography -> aiohttp_session [fillcolor="#19e6c9",minlen="2"]; + cryptography -> requests [fillcolor="#19e6c9"]; + elftools -> ahriman_core_build_tools_package_archive [fillcolor="#53a8b6",minlen="4"]; + inflection -> ahriman_models_aur_package [fillcolor="#538cb6",minlen="3"]; + jinja2 -> ahriman_core_report_jinja_template [fillcolor="#3b65ce",minlen="4"]; + jinja2 -> ahriman_web_web [fillcolor="#3b65ce",minlen="3"]; + jinja2 -> aiohttp_jinja2 [fillcolor="#3b65ce"]; + marshmallow -> ahriman_web_schemas_aur_package_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_auth_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_build_options_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_changes_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_counters_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_dependencies_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_error_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_event_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_event_search_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_file_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_info_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_internal_status_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_log_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_login_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_logs_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_oauth2_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_package_name_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_package_names_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_package_patch_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_package_properties_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_package_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_package_status_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_package_version_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_pagination_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_patch_name_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_patch_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_pgp_key_id_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_pgp_key_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_process_id_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_process_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_remote_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_repository_id_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_search_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_status_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_update_flags_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_versioned_log_schema [fillcolor="#0606ef",minlen="4"]; + marshmallow -> ahriman_web_schemas_worker_schema [fillcolor="#0606ef",minlen="4"]; + matplotlib -> ahriman_application_handlers_statistics [fillcolor="#5b31c4",minlen="4"]; + passlib -> ahriman_models_user [fillcolor="#8d47c2",minlen="3"]; + pyalpm -> ahriman_core_alpm_pacman [fillcolor="#cb22e7",minlen="4"]; + pyalpm -> ahriman_core_alpm_pacman_database [fillcolor="#cb22e7",minlen="4"]; + pyalpm -> ahriman_models_aur_package [fillcolor="#cb22e7",minlen="3"]; + pyalpm -> ahriman_models_package [fillcolor="#cb22e7",minlen="3"]; + pyalpm -> ahriman_models_package_description [fillcolor="#cb22e7",minlen="3"]; + requests -> ahriman_application_application_application_packages [fillcolor="#ef06ce",minlen="4"]; + requests -> ahriman_core_http_sync_ahriman_client [fillcolor="#ef06ce",minlen="4"]; + requests -> ahriman_core_http_sync_http_client [fillcolor="#ef06ce",minlen="4"]; + requests -> ahriman_core_report_remote_call [fillcolor="#ef06ce",minlen="4"]; + requests -> ahriman_core_upload_github [fillcolor="#ef06ce",minlen="4"]; + requests -> ahriman_core_upload_remote_service [fillcolor="#ef06ce",minlen="4"]; + requests -> requests_unixsocket [fillcolor="#ef06ce"]; + requests_unixsocket -> ahriman_core_http_sync_ahriman_client [fillcolor="#b34c87",minlen="4"]; + systemd -> ahriman_core_log_journal_handler [fillcolor="#ce3b65",minlen="4"]; + systemd -> ahriman_core_log_log_loader [fillcolor="#ce3b65",minlen="4"]; +} diff --git a/docs/architecture.rst b/docs/architecture.rst index 80f7841f7..cab793edd 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -12,8 +12,7 @@ Packages have strict rules of importing: Full dependency diagram: -.. image:: _static/architecture.svg - :target: _static/architecture.svg +.. graphviz:: _static/architecture.dot :alt: architecture ``ahriman.application`` package diff --git a/docs/conf.py b/docs/conf.py index 29a9fee63..b1be93c01 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -10,7 +10,7 @@ # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # -import os +import datetime import sys from pathlib import Path @@ -21,13 +21,11 @@ basedir = Path(__file__).resolve().parent.parent / "src" sys.path.insert(0, str(basedir)) -on_rtd = os.environ.get("READTHEDOCS", None) == "True" - # -- Project information ----------------------------------------------------- project = "ahriman" -copyright = "2021-2023, ahriman team" +copyright = f"2021-{datetime.date.today().year}, ahriman team" author = "ahriman team" # The full version, including alpha/beta/rc tags @@ -41,6 +39,7 @@ # ones. extensions = [ "sphinx.ext.autodoc", + "sphinx.ext.graphviz", "sphinx.ext.napoleon", "sphinx_rtd_theme", "sphinxarg.ext", @@ -78,7 +77,12 @@ add_module_names = False -modindex_common_prefix = ["ahriman.application.", "ahriman.core.", "ahriman.models.", "ahriman.web."] +modindex_common_prefix = [ + "ahriman.application.", + "ahriman.core.", + "ahriman.models.", + "ahriman.web.", +] # -- Extension configuration ------------------------------------------------- @@ -92,3 +96,5 @@ autodoc_default_options = { "no-undoc-members": True, } + +graphviz_output_format = "svg" diff --git a/tox.ini b/tox.ini index 7ce5104ae..224784e9f 100644 --- a/tox.ini +++ b/tox.ini @@ -49,13 +49,15 @@ changedir = src allowlist_externals = bash find + mv setenv = SPHINX_APIDOC_OPTIONS=members,no-undoc-members,show-inheritance commands = bash -c 'shtab --shell bash --prefix ahriman --prog ahriman ahriman.application.ahriman._parser > ../package/share/bash-completion/completions/_ahriman' bash -c 'shtab --shell zsh --prefix ahriman --prog ahriman ahriman.application.ahriman._parser > ../package/share/zsh/site-functions/_ahriman' argparse-manpage --module ahriman.application.ahriman --function _parser --author "ahriman team" --project-name ahriman --author-email "" --url https://github.com/arcan1s/ahriman --output ../package/share/man/man1/ahriman.1 - pydeps ahriman -o ../docs/_static/architecture.svg --no-config --no-show --cluster + pydeps ahriman --no-output --show-dot --dot-output architecture.dot --no-config --cluster + mv architecture.dot ../docs/_static/architecture.dot # remove autogenerated modules rst files find ../docs -type f -name "{[tox]project_name}*.rst" -delete sphinx-apidoc -o ../docs .