Skip to content

Module Dependencies

This page is generated by scripts/generate_dependency_graph.py from the live import graph of src/rwa_calc, built with the curfew dependency tool. It is a snapshot of how the code actually imports itself — not a hand-drawn design diagram.

Regenerate after structural refactors:

uv run python scripts/generate_dependency_graph.py

Inspect a single module's dependencies and dependents directly:

uv run curfew report rwa_calc.engine.classifier

Last generated: 2026-06-21.

Package overview

Each node is a top-level subpackage of rwa_calc; an arrow A --> B means some module in A imports some module in B. Module-level imports are collapsed to their package here for readability.

flowchart LR
    p0["rwa_calc"]
    p1["rwa_calc.analysis"]
    p2["rwa_calc.api"]
    p3["rwa_calc.config"]
    p4["rwa_calc.contracts"]
    p5["rwa_calc.data"]
    p6["rwa_calc.domain"]
    p7["rwa_calc.engine"]
    p8["rwa_calc.observability"]
    p9["rwa_calc.reporting"]
    p10["rwa_calc.rulebook"]
    p11["rwa_calc.ui"]
    p1 --> p4
    p1 --> p6
    p1 --> p7
    p1 --> p10
    p2 --> p1
    p2 --> p3
    p2 --> p4
    p2 --> p6
    p2 --> p7
    p2 --> p8
    p2 --> p9
    p2 --> p10
    p4 --> p2
    p4 --> p5
    p4 --> p6
    p4 --> p7
    p4 --> p10
    p7 --> p3
    p7 --> p4
    p7 --> p5
    p7 --> p6
    p7 --> p8
    p7 --> p10
    p8 --> p4
    p9 --> p2
    p9 --> p4
    p9 --> p6
    p10 --> p4
    p10 --> p6
    p11 --> p0
    p11 --> p1
    p11 --> p2
    p11 --> p4
    p11 --> p6
    p11 --> p7
    p11 --> p8
    classDef first_party fill:#e8f0fe,stroke:#1a73e8,color:#202124
    class p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11 first_party

Full module graph

The complete graph, one node per module, exactly as curfew show --mermaid emits it.

Full module-level graph (200 modules)
flowchart LR
    n0["rwa_calc"]
    n1["rwa_calc.analysis"]
    n2["rwa_calc.analysis.attribution"]
    n3["rwa_calc.analysis.comparison"]
    n4["rwa_calc.analysis.recon_registry"]
    n5["rwa_calc.analysis.reconciliation"]
    n6["rwa_calc.analysis.transition"]
    n7["rwa_calc.api"]
    n8["rwa_calc.api.errors"]
    n9["rwa_calc.api.export"]
    n10["rwa_calc.api.formatters"]
    n11["rwa_calc.api.models"]
    n12["rwa_calc.api.reconciliation"]
    n13["rwa_calc.api.rest"]
    n14["rwa_calc.api.results_cache"]
    n15["rwa_calc.api.service"]
    n16["rwa_calc.api.validation"]
    n17["rwa_calc.config"]
    n18["rwa_calc.config.data_sources"]
    n19["rwa_calc.contracts"]
    n20["rwa_calc.contracts.bundles"]
    n21["rwa_calc.contracts.config"]
    n22["rwa_calc.contracts.context"]
    n23["rwa_calc.contracts.edges"]
    n24["rwa_calc.contracts.errors"]
    n25["rwa_calc.contracts.protocols"]
    n26["rwa_calc.contracts.results"]
    n27["rwa_calc.contracts.validation"]
    n28["rwa_calc.data"]
    n29["rwa_calc.data.column_spec"]
    n30["rwa_calc.data.schemas"]
    n31["rwa_calc.domain"]
    n32["rwa_calc.domain.enums"]
    n33["rwa_calc.engine"]
    n34["rwa_calc.engine.aggregator"]
    n35["rwa_calc.engine.aggregator._collapse"]
    n36["rwa_calc.engine.aggregator._crm_reporting"]
    n37["rwa_calc.engine.aggregator._el_summary"]
    n38["rwa_calc.engine.aggregator._equity_prep"]
    n39["rwa_calc.engine.aggregator._floor"]
    n40["rwa_calc.engine.aggregator._schemas"]
    n41["rwa_calc.engine.aggregator._securitisation"]
    n42["rwa_calc.engine.aggregator._summaries"]
    n43["rwa_calc.engine.aggregator._supporting_factors"]
    n44["rwa_calc.engine.aggregator._utils"]
    n45["rwa_calc.engine.aggregator.aggregator"]
    n46["rwa_calc.engine.ccf"]
    n47["rwa_calc.engine.ccr"]
    n48["rwa_calc.engine.ccr.adjusted_notional"]
    n49["rwa_calc.engine.ccr.ccp"]
    n50["rwa_calc.engine.ccr.default_fund"]
    n51["rwa_calc.engine.ccr.failed_trades"]
    n52["rwa_calc.engine.ccr.hedging_sets"]
    n53["rwa_calc.engine.ccr.maturity_factor"]
    n54["rwa_calc.engine.ccr.pfe"]
    n55["rwa_calc.engine.ccr.pipeline_adapter"]
    n56["rwa_calc.engine.ccr.rc"]
    n57["rwa_calc.engine.ccr.sa_ccr"]
    n58["rwa_calc.engine.ccr.supervisory_delta"]
    n59["rwa_calc.engine.ccr.wwr"]
    n60["rwa_calc.engine.classifier"]
    n61["rwa_calc.engine.crm"]
    n62["rwa_calc.engine.crm.collateral"]
    n63["rwa_calc.engine.crm.expressions"]
    n64["rwa_calc.engine.crm.guarantees"]
    n65["rwa_calc.engine.crm.haircut_tables"]
    n66["rwa_calc.engine.crm.haircuts"]
    n67["rwa_calc.engine.crm.life_insurance"]
    n68["rwa_calc.engine.crm.link_allocation"]
    n69["rwa_calc.engine.crm.look_through"]
    n70["rwa_calc.engine.crm.processor"]
    n71["rwa_calc.engine.crm.provisions"]
    n72["rwa_calc.engine.crm.simple_method"]
    n73["rwa_calc.engine.cva"]
    n74["rwa_calc.engine.cva.ba_cva"]
    n75["rwa_calc.engine.entity_class_maps"]
    n76["rwa_calc.engine.equity"]
    n77["rwa_calc.engine.equity.calculator"]
    n78["rwa_calc.engine.eu_sovereign"]
    n79["rwa_calc.engine.fx_converter"]
    n80["rwa_calc.engine.fx_rate_sync"]
    n81["rwa_calc.engine.hierarchy"]
    n82["rwa_calc.engine.irb"]
    n83["rwa_calc.engine.irb.adjustments"]
    n84["rwa_calc.engine.irb.calculator"]
    n85["rwa_calc.engine.irb.formulas"]
    n86["rwa_calc.engine.irb.guarantee"]
    n87["rwa_calc.engine.irb.stats_backend"]
    n88["rwa_calc.engine.irb.transforms"]
    n89["rwa_calc.engine.kernels"]
    n90["rwa_calc.engine.kernels.allocation"]
    n91["rwa_calc.engine.loader"]
    n92["rwa_calc.engine.materialise"]
    n93["rwa_calc.engine.orchestrator"]
    n94["rwa_calc.engine.pipeline"]
    n95["rwa_calc.engine.re_splitter"]
    n96["rwa_calc.engine.registry"]
    n97["rwa_calc.engine.sa"]
    n98["rwa_calc.engine.sa.b31_risk_weight_tables"]
    n99["rwa_calc.engine.sa.calculator"]
    n100["rwa_calc.engine.sa.crr_risk_weight_tables"]
    n101["rwa_calc.engine.sa.factors_output"]
    n102["rwa_calc.engine.sa.guarantor_rw"]
    n103["rwa_calc.engine.sa.risk_weights"]
    n104["rwa_calc.engine.sa.rw_adjustments"]
    n105["rwa_calc.engine.securitisation"]
    n106["rwa_calc.engine.securitisation.allocator"]
    n107["rwa_calc.engine.sft"]
    n108["rwa_calc.engine.sft.fccm"]
    n109["rwa_calc.engine.slotting"]
    n110["rwa_calc.engine.slotting.calculator"]
    n111["rwa_calc.engine.slotting.transforms"]
    n112["rwa_calc.engine.stages"]
    n113["rwa_calc.engine.stages._ccr_shared"]
    n114["rwa_calc.engine.stages.aggregate"]
    n115["rwa_calc.engine.stages.calc"]
    n116["rwa_calc.engine.stages.ccr"]
    n117["rwa_calc.engine.stages.classify"]
    n118["rwa_calc.engine.stages.classify.approach"]
    n119["rwa_calc.engine.stages.classify.attributes"]
    n120["rwa_calc.engine.stages.classify.audit"]
    n121["rwa_calc.engine.stages.classify.classifier"]
    n122["rwa_calc.engine.stages.classify.permissions"]
    n123["rwa_calc.engine.stages.classify.stage"]
    n124["rwa_calc.engine.stages.classify.subtypes"]
    n125["rwa_calc.engine.stages.crm"]
    n126["rwa_calc.engine.stages.equity"]
    n127["rwa_calc.engine.stages.fx"]
    n128["rwa_calc.engine.stages.fx.conversion"]
    n129["rwa_calc.engine.stages.fx.converter"]
    n130["rwa_calc.engine.stages.hierarchy"]
    n131["rwa_calc.engine.stages.hierarchy.enrich"]
    n132["rwa_calc.engine.stages.hierarchy.facility_undrawn"]
    n133["rwa_calc.engine.stages.hierarchy.graph"]
    n134["rwa_calc.engine.stages.hierarchy.ratings"]
    n135["rwa_calc.engine.stages.hierarchy.resolver"]
    n136["rwa_calc.engine.stages.hierarchy.stage"]
    n137["rwa_calc.engine.stages.hierarchy.unify"]
    n138["rwa_calc.engine.stages.re_split"]
    n139["rwa_calc.engine.stages.re_split.flagging"]
    n140["rwa_calc.engine.stages.re_split.params"]
    n141["rwa_calc.engine.stages.re_split.splitter"]
    n142["rwa_calc.engine.stages.re_split.stage"]
    n143["rwa_calc.engine.stages.securitisation"]
    n144["rwa_calc.engine.stages.sft"]
    n145["rwa_calc.engine.supporting_factors"]
    n146["rwa_calc.engine.thresholds"]
    n147["rwa_calc.engine.utils"]
    n148["rwa_calc.observability"]
    n149["rwa_calc.observability.audit_cache"]
    n150["rwa_calc.observability.context"]
    n151["rwa_calc.observability.formatters"]
    n152["rwa_calc.observability.logging_setup"]
    n153["rwa_calc.reporting"]
    n154["rwa_calc.reporting.corep"]
    n155["rwa_calc.reporting.corep.generator"]
    n156["rwa_calc.reporting.corep.templates"]
    n157["rwa_calc.reporting.kernel"]
    n158["rwa_calc.reporting.kernel.columns"]
    n159["rwa_calc.reporting.kernel.filters"]
    n160["rwa_calc.reporting.kernel.rows"]
    n161["rwa_calc.reporting.kernel.sums"]
    n162["rwa_calc.reporting.pillar3"]
    n163["rwa_calc.reporting.pillar3.generator"]
    n164["rwa_calc.reporting.pillar3.templates"]
    n165["rwa_calc.rulebook"]
    n166["rwa_calc.rulebook.audit"]
    n167["rwa_calc.rulebook.compile"]
    n168["rwa_calc.rulebook.model"]
    n169["rwa_calc.rulebook.packs"]
    n170["rwa_calc.rulebook.packs.b31"]
    n171["rwa_calc.rulebook.packs.common"]
    n172["rwa_calc.rulebook.packs.crr"]
    n173["rwa_calc.rulebook.registry"]
    n174["rwa_calc.rulebook.resolve"]
    n175["rwa_calc.rulebook.v0"]
    n176["rwa_calc.ui"]
    n177["rwa_calc.ui.app"]
    n178["rwa_calc.ui.app.main"]
    n179["rwa_calc.ui.app.recon_state"]
    n180["rwa_calc.ui.marimo"]
    n181["rwa_calc.ui.marimo.shared"]
    n182["rwa_calc.ui.marimo.shared.sidebar"]
    n183["rwa_calc.ui.marimo.workspaces"]
    n184["rwa_calc.ui.marimo.workspaces.local"]
    n185["rwa_calc.ui.marimo.workspaces.local.book_1"]
    n186["rwa_calc.ui.marimo.workspaces.local.df"]
    n187["rwa_calc.ui.marimo.workspaces.local.my_workbook"]
    n188["rwa_calc.ui.marimo.workspaces.local.my_workbook_1"]
    n189["rwa_calc.ui.marimo.workspaces.local.my_workbook_2"]
    n190["rwa_calc.ui.marimo.workspaces.local.new_folder"]
    n191["rwa_calc.ui.marimo.workspaces.local.new_folder.my_workbook"]
    n192["rwa_calc.ui.marimo.workspaces.local.test_book"]
    n193["rwa_calc.ui.marimo.workspaces.local.tests"]
    n194["rwa_calc.ui.marimo.workspaces.templates"]
    n195["rwa_calc.ui.marimo.workspaces.templates.starter"]
    n196["rwa_calc.ui.views"]
    n197["rwa_calc.ui.views.charts"]
    n198["rwa_calc.ui.views.comparison"]
    n199["rwa_calc.ui.views.reconciliation"]
    n2 --> n20
    n3 --> n2
    n3 --> n20
    n3 --> n21
    n3 --> n94
    n3 --> n165
    n3 --> n174
    n5 --> n4
    n5 --> n20
    n5 --> n24
    n5 --> n35
    n6 --> n20
    n6 --> n21
    n6 --> n32
    n6 --> n94
    n7 --> n4
    n7 --> n9
    n7 --> n11
    n7 --> n12
    n7 --> n13
    n7 --> n14
    n7 --> n15
    n7 --> n16
    n8 --> n11
    n8 --> n24
    n9 --> n11
    n9 --> n21
    n9 --> n26
    n9 --> n155
    n9 --> n163
    n10 --> n8
    n10 --> n11
    n10 --> n14
    n10 --> n20
    n11 --> n8
    n11 --> n9
    n11 --> n20
    n12 --> n4
    n13 --> n11
    n13 --> n12
    n13 --> n15
    n13 --> n16
    n15 --> n5
    n15 --> n8
    n15 --> n10
    n15 --> n11
    n15 --> n12
    n15 --> n14
    n15 --> n16
    n15 --> n21
    n15 --> n25
    n15 --> n32
    n15 --> n91
    n15 --> n94
    n15 --> n148
    n15 --> n165
    n16 --> n8
    n16 --> n11
    n16 --> n18
    n19 --> n20
    n19 --> n21
    n19 --> n23
    n19 --> n24
    n19 --> n25
    n19 --> n27
    n19 --> n32
    n20 --> n23
    n20 --> n24
    n20 --> n32
    n21 --> n32
    n23 --> n29
    n23 --> n30
    n24 --> n32
    n25 --> n11
    n25 --> n20
    n25 --> n21
    n25 --> n24
    n25 --> n26
    n25 --> n68
    n25 --> n174
    n27 --> n20
    n27 --> n24
    n27 --> n29
    n27 --> n30
    n30 --> n29
    n31 --> n32
    n33 --> n81
    n33 --> n91
    n33 --> n94
    n34 --> n45
    n35 --> n30
    n36 --> n40
    n36 --> n44
    n37 --> n20
    n37 --> n40
    n37 --> n44
    n38 --> n32
    n39 --> n20
    n39 --> n40
    n39 --> n44
    n39 --> n167
    n39 --> n174
    n43 --> n40
    n43 --> n44
    n45 --> n20
    n45 --> n21
    n45 --> n23
    n45 --> n36
    n45 --> n37
    n45 --> n38
    n45 --> n39
    n45 --> n40
    n45 --> n41
    n45 --> n42
    n45 --> n43
    n45 --> n165
    n45 --> n174
    n46 --> n21
    n46 --> n30
    n46 --> n32
    n46 --> n165
    n46 --> n167
    n46 --> n174
    n47 --> n48
    n47 --> n52
    n47 --> n53
    n47 --> n54
    n47 --> n55
    n47 --> n56
    n47 --> n57
    n47 --> n58
    n47 --> n59
    n48 --> n167
    n48 --> n174
    n49 --> n167
    n49 --> n174
    n50 --> n21
    n50 --> n167
    n50 --> n174
    n51 --> n21
    n51 --> n167
    n51 --> n174
    n52 --> n30
    n53 --> n167
    n53 --> n174
    n54 --> n21
    n54 --> n29
    n54 --> n30
    n54 --> n56
    n54 --> n167
    n54 --> n174
    n55 --> n20
    n55 --> n21
    n55 --> n24
    n55 --> n29
    n55 --> n30
    n55 --> n32
    n55 --> n48
    n55 --> n52
    n55 --> n53
    n55 --> n54
    n55 --> n56
    n55 --> n58
    n55 --> n167
    n55 --> n174
    n57 --> n20
    n57 --> n21
    n57 --> n24
    n57 --> n32
    n58 --> n87
    n58 --> n167
    n58 --> n174
    n59 --> n20
    n59 --> n24
    n59 --> n29
    n59 --> n30
    n59 --> n32
    n59 --> n167
    n59 --> n174
    n60 --> n117
    n61 --> n66
    n61 --> n67
    n61 --> n70
    n62 --> n21
    n62 --> n30
    n62 --> n32
    n62 --> n63
    n62 --> n66
    n62 --> n149
    n62 --> n165
    n62 --> n167
    n62 --> n174
    n63 --> n30
    n63 --> n90
    n63 --> n167
    n63 --> n174
    n64 --> n21
    n64 --> n29
    n64 --> n30
    n64 --> n32
    n64 --> n46
    n64 --> n75
    n64 --> n78
    n64 --> n90
    n64 --> n147
    n64 --> n165
    n64 --> n167
    n64 --> n174
    n65 --> n174
    n66 --> n21
    n66 --> n29
    n66 --> n30
    n66 --> n65
    n66 --> n165
    n66 --> n167
    n66 --> n174
    n67 --> n21
    n67 --> n30
    n67 --> n174
    n68 --> n21
    n68 --> n24
    n68 --> n63
    n68 --> n90
    n69 --> n24
    n69 --> n29
    n70 --> n20
    n70 --> n21
    n70 --> n23
    n70 --> n24
    n70 --> n32
    n70 --> n46
    n70 --> n62
    n70 --> n63
    n70 --> n64
    n70 --> n66
    n70 --> n67
    n70 --> n68
    n70 --> n69
    n70 --> n71
    n70 --> n72
    n70 --> n90
    n70 --> n92
    n70 --> n103
    n70 --> n147
    n70 --> n149
    n70 --> n174
    n71 --> n21
    n71 --> n32
    n71 --> n46
    n71 --> n90
    n71 --> n165
    n71 --> n174
    n72 --> n21
    n72 --> n32
    n72 --> n98
    n72 --> n100
    n72 --> n165
    n72 --> n167
    n72 --> n174
    n73 --> n74
    n74 --> n167
    n74 --> n174
    n75 --> n174
    n76 --> n77
    n77 --> n20
    n77 --> n21
    n77 --> n24
    n77 --> n29
    n77 --> n32
    n77 --> n85
    n77 --> n98
    n77 --> n100
    n77 --> n165
    n77 --> n167
    n77 --> n174
    n78 --> n174
    n79 --> n129
    n81 --> n130
    n82 --> n84
    n82 --> n85
    n83 --> n21
    n83 --> n24
    n83 --> n165
    n83 --> n174
    n84 --> n21
    n84 --> n24
    n84 --> n88
    n84 --> n145
    n84 --> n165
    n84 --> n174
    n85 --> n21
    n85 --> n32
    n85 --> n83
    n85 --> n87
    n85 --> n146
    n85 --> n165
    n85 --> n167
    n85 --> n174
    n86 --> n21
    n86 --> n64
    n86 --> n75
    n86 --> n78
    n86 --> n85
    n86 --> n102
    n86 --> n146
    n86 --> n165
    n86 --> n167
    n86 --> n174
    n88 --> n21
    n88 --> n24
    n88 --> n29
    n88 --> n32
    n88 --> n83
    n88 --> n85
    n88 --> n86
    n88 --> n146
    n88 --> n147
    n88 --> n165
    n88 --> n167
    n88 --> n174
    n89 --> n90
    n90 --> n30
    n90 --> n147
    n91 --> n18
    n91 --> n20
    n91 --> n23
    n91 --> n24
    n91 --> n25
    n91 --> n27
    n91 --> n29
    n91 --> n30
    n91 --> n147
    n92 --> n21
    n92 --> n23
    n93 --> n20
    n93 --> n21
    n93 --> n22
    n93 --> n23
    n93 --> n24
    n93 --> n25
    n93 --> n34
    n93 --> n70
    n93 --> n77
    n93 --> n84
    n93 --> n99
    n93 --> n106
    n93 --> n110
    n93 --> n117
    n93 --> n130
    n93 --> n138
    n93 --> n148
    n93 --> n165
    n94 --> n20
    n94 --> n21
    n94 --> n22
    n94 --> n25
    n94 --> n32
    n94 --> n80
    n94 --> n91
    n94 --> n92
    n94 --> n93
    n94 --> n96
    n94 --> n148
    n94 --> n149
    n94 --> n165
    n94 --> n166
    n95 --> n138
    n96 --> n93
    n96 --> n114
    n96 --> n115
    n96 --> n116
    n96 --> n117
    n96 --> n125
    n96 --> n126
    n96 --> n130
    n96 --> n138
    n96 --> n143
    n96 --> n144
    n97 --> n99
    n98 --> n32
    n98 --> n100
    n98 --> n174
    n99 --> n21
    n99 --> n24
    n99 --> n32
    n99 --> n101
    n99 --> n103
    n99 --> n104
    n99 --> n165
    n99 --> n174
    n100 --> n32
    n100 --> n174
    n101 --> n21
    n101 --> n24
    n101 --> n29
    n101 --> n145
    n101 --> n174
    n102 --> n32
    n102 --> n75
    n102 --> n167
    n102 --> n174
    n103 --> n21
    n103 --> n29
    n103 --> n30
    n103 --> n32
    n103 --> n78
    n103 --> n98
    n103 --> n100
    n103 --> n102
    n103 --> n165
    n103 --> n167
    n103 --> n174
    n104 --> n21
    n104 --> n24
    n104 --> n32
    n104 --> n64
    n104 --> n75
    n104 --> n78
    n104 --> n102
    n104 --> n103
    n104 --> n165
    n104 --> n174
    n105 --> n106
    n106 --> n20
    n106 --> n21
    n106 --> n24
    n106 --> n32
    n107 --> n108
    n108 --> n20
    n108 --> n65
    n108 --> n174
    n109 --> n110
    n110 --> n21
    n110 --> n24
    n110 --> n111
    n110 --> n145
    n110 --> n165
    n110 --> n174
    n111 --> n21
    n111 --> n24
    n111 --> n147
    n111 --> n165
    n111 --> n167
    n111 --> n168
    n111 --> n174
    n113 --> n20
    n114 --> n21
    n114 --> n22
    n114 --> n23
    n114 --> n73
    n114 --> n93
    n114 --> n165
    n115 --> n21
    n115 --> n22
    n115 --> n23
    n115 --> n24
    n115 --> n29
    n115 --> n32
    n115 --> n40
    n115 --> n92
    n115 --> n93
    n115 --> n145
    n115 --> n165
    n116 --> n21
    n116 --> n22
    n116 --> n23
    n116 --> n47
    n116 --> n50
    n116 --> n51
    n116 --> n92
    n116 --> n93
    n116 --> n113
    n116 --> n165
    n117 --> n121
    n117 --> n123
    n118 --> n21
    n118 --> n30
    n118 --> n32
    n118 --> n78
    n118 --> n122
    n118 --> n146
    n118 --> n165
    n118 --> n174
    n119 --> n21
    n119 --> n32
    n119 --> n75
    n119 --> n146
    n119 --> n147
    n119 --> n165
    n119 --> n174
    n120 --> n20
    n120 --> n21
    n120 --> n24
    n120 --> n146
    n120 --> n165
    n120 --> n174
    n121 --> n20
    n121 --> n21
    n121 --> n23
    n121 --> n24
    n121 --> n92
    n121 --> n118
    n121 --> n119
    n121 --> n120
    n121 --> n122
    n121 --> n124
    n121 --> n139
    n121 --> n165
    n121 --> n174
    n122 --> n21
    n122 --> n24
    n122 --> n32
    n123 --> n21
    n123 --> n22
    n123 --> n93
    n123 --> n149
    n123 --> n165
    n124 --> n21
    n124 --> n30
    n124 --> n32
    n124 --> n119
    n124 --> n146
    n124 --> n147
    n124 --> n165
    n124 --> n174
    n125 --> n21
    n125 --> n22
    n125 --> n93
    n125 --> n165
    n126 --> n21
    n126 --> n22
    n126 --> n93
    n126 --> n149
    n126 --> n165
    n127 --> n128
    n127 --> n129
    n128 --> n21
    n128 --> n129
    n129 --> n21
    n130 --> n135
    n130 --> n136
    n131 --> n20
    n131 --> n90
    n131 --> n147
    n132 --> n20
    n132 --> n21
    n132 --> n46
    n132 --> n102
    n132 --> n133
    n132 --> n147
    n133 --> n20
    n133 --> n23
    n133 --> n24
    n133 --> n32
    n133 --> n134
    n133 --> n147
    n135 --> n20
    n135 --> n21
    n135 --> n23
    n135 --> n24
    n135 --> n127
    n135 --> n131
    n135 --> n132
    n135 --> n133
    n135 --> n134
    n135 --> n137
    n136 --> n21
    n136 --> n22
    n136 --> n23
    n136 --> n92
    n136 --> n93
    n136 --> n106
    n136 --> n149
    n136 --> n165
    n137 --> n20
    n137 --> n21
    n137 --> n24
    n137 --> n131
    n137 --> n132
    n137 --> n133
    n138 --> n139
    n138 --> n141
    n138 --> n142
    n139 --> n21
    n139 --> n32
    n139 --> n165
    n139 --> n174
    n140 --> n167
    n140 --> n174
    n141 --> n20
    n141 --> n21
    n141 --> n23
    n141 --> n24
    n141 --> n32
    n141 --> n140
    n141 --> n165
    n141 --> n174
    n142 --> n21
    n142 --> n22
    n142 --> n23
    n142 --> n92
    n142 --> n93
    n142 --> n149
    n142 --> n165
    n143 --> n21
    n143 --> n22
    n143 --> n93
    n143 --> n165
    n144 --> n21
    n144 --> n22
    n144 --> n23
    n144 --> n92
    n144 --> n93
    n144 --> n108
    n144 --> n113
    n144 --> n165
    n145 --> n21
    n145 --> n24
    n145 --> n32
    n145 --> n146
    n145 --> n165
    n145 --> n167
    n145 --> n174
    n146 --> n174
    n148 --> n149
    n148 --> n150
    n148 --> n151
    n148 --> n152
    n149 --> n21
    n149 --> n150
    n152 --> n150
    n152 --> n151
    n153 --> n155
    n153 --> n163
    n154 --> n155
    n154 --> n156
    n155 --> n11
    n155 --> n20
    n155 --> n21
    n155 --> n26
    n155 --> n32
    n155 --> n156
    n155 --> n157
    n157 --> n158
    n157 --> n159
    n157 --> n160
    n157 --> n161
    n159 --> n158
    n162 --> n163
    n163 --> n15
    n163 --> n20
    n163 --> n21
    n163 --> n26
    n163 --> n157
    n163 --> n164
    n165 --> n175
    n166 --> n174
    n167 --> n168
    n170 --> n32
    n170 --> n168
    n171 --> n32
    n171 --> n168
    n172 --> n32
    n172 --> n168
    n173 --> n32
    n174 --> n168
    n174 --> n173
    n175 --> n21
    n175 --> n32
    n175 --> n173
    n175 --> n174
    n178 --> n3
    n178 --> n11
    n178 --> n12
    n178 --> n13
    n178 --> n15
    n178 --> n16
    n178 --> n21
    n178 --> n32
    n178 --> n91
    n178 --> n148
    n178 --> n179
    n178 --> n197
    n178 --> n198
    n178 --> n199
    n182 --> n0
    n186 --> n182
    n187 --> n182
    n188 --> n182
    n189 --> n182
    n193 --> n182
    n195 --> n182
    n198 --> n20
    n199 --> n5
    n199 --> n11
    classDef first_party fill:#e8f0fe,stroke:#1a73e8,color:#202124
    class n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14,n15,n16,n17,n18,n19,n20,n21,n22,n23,n24,n25,n26,n27,n28,n29,n30,n31,n32,n33,n34,n35,n36,n37,n38,n39,n40,n41,n42,n43,n44,n45,n46,n47,n48,n49,n50,n51,n52,n53,n54,n55,n56,n57,n58,n59,n60,n61,n62,n63,n64,n65,n66,n67,n68,n69,n70,n71,n72,n73,n74,n75,n76,n77,n78,n79,n80,n81,n82,n83,n84,n85,n86,n87,n88,n89,n90,n91,n92,n93,n94,n95,n96,n97,n98,n99,n100,n101,n102,n103,n104,n105,n106,n107,n108,n109,n110,n111,n112,n113,n114,n115,n116,n117,n118,n119,n120,n121,n122,n123,n124,n125,n126,n127,n128,n129,n130,n131,n132,n133,n134,n135,n136,n137,n138,n139,n140,n141,n142,n143,n144,n145,n146,n147,n148,n149,n150,n151,n152,n153,n154,n155,n156,n157,n158,n159,n160,n161,n162,n163,n164,n165,n166,n167,n168,n169,n170,n171,n172,n173,n174,n175,n176,n177,n178,n179,n180,n181,n182,n183,n184,n185,n186,n187,n188,n189,n190,n191,n192,n193,n194,n195,n196,n197,n198,n199 first_party