diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/.gitkeep b/events/2026-06-11-unlock-the-money/justagiraffe/.gitkeep
deleted file mode 100644
index 8b13789..0000000
--- a/events/2026-06-11-unlock-the-money/justagiraffe/.gitkeep
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/INTEGRATED-ARCHITECTURE.md b/events/2026-06-11-unlock-the-money/justagiraffe/INTEGRATED-ARCHITECTURE.md
new file mode 100644
index 0000000..be78673
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/INTEGRATED-ARCHITECTURE.md
@@ -0,0 +1,221 @@
+# Integrated architecture — OEF urban climate-finance stack
+
+**Purpose:** define how the hackday modules fit into one coherent system, so the
+city-facing app (City Readiness Navigator) is built against the right boundaries.
+**Status:** reflects the **v2.2 build** (12–15 Jun 2026) — the Navigator is built through
+the city-facing flow below; CityCatalyst embed (OAuth/MCP) remains. Pairs with
+[`ITERATION-2.1-PLAN.md`](ITERATION-2.1-PLAN.md).
+
+> **Naming.** "Readiness" alone is too broad — this stack assesses **finance readiness**
+> (specifically **climate-finance readiness**): is a city/pool ready to access a *specific
+> financing instrument* for its climate plan. The app's subtitle carries this ("Climate-finance
+> readiness for cities & regions"); keep that framing in any rename.
+
+---
+
+## 1. The core principle — two readiness questions, kept modular
+
+Martin's call (validated by the Project Preparator POC): **separate whether a
+*project* is bankable from whether a *city* is creditworthy.** They are different
+questions, answered by different modules, and a city can enter from either side.
+
+| | **Project bankability** | **Entity creditworthiness** |
+|---|---|---|
+| Question | "Is *this project* fundable, and by whom?" | "Can *this city/pool* take on *this instrument*?" |
+| Object | a single project (from a HIAP action) | a subnational government (or a pool of them) |
+| Owner today | **Project Preparator** (NBS Project Builder) | **justagiraffe** Readiness Engine + profiles |
+| Model | Technical / Financial / Political (0.4/0.4/0.2) | creditworthiness / fiscal / legal / governance |
+| Output | GCF/C40-style **Concept Note** | scored candidate + clearance for an instrument |
+| Entry path | "I have a project → who funds it?" | "Can I access IDB SFP → which projects do I take on?" |
+
+A project can be bankable while the city isn't creditworthy (and vice versa), so
+**both layers are needed and complementary, not redundant.** The City Readiness
+Navigator is the **entity/instrument/portfolio** layer; it *consumes* prepared
+projects and adds creditworthiness + pooling + the funder handoff.
+
+## 2. Module inventory (what exists, verified)
+
+| Module | Repo / location | Role | Status |
+|---|---|---|---|
+| **CityCatalyst** | `Open-Earth-Foundation/CityCatalyst` | Host: GHG inventory, **HIAP** (prioritized actions), CCRA risk, Journey Navigator module catalog, OAuth, Global API | Production |
+| **Project Preparator** | `joaquinOEF/NBS-Project-Preparation` | Project bankability (Tech/Fin/Pol), project-funder matching, Concept Note | POC |
+| **justagiraffe Control Tower** | hackdays `justagiraffe/control-tower` | IDB-facing: Intake & Triage, Readiness Scoring (profile-driven engine), Results/Board | Hackday |
+| **City Readiness Navigator** | hackdays `justagiraffe/city-readiness-navigator` | City-facing: 6-stage finance-readiness journey; entity creditworthiness + intra/cross-city portfolio + dossier handoff | Hackday (built, v2.2) |
+| **City-Funder Matching Engine** | hackdays `city–funder-matching` + `apps/funder-scan` | **Chile** capacity (SINIM/FCM), action→funder matching, **pooling/aggregation** | Hackday |
+| **CAPAG Funder Scan** | hackdays `apps/capag-funder-scan` | **Brazil** creditworthiness (Treasury CAPAG A/B/C/D for 5,570 munis) | Hackday |
+| **Political-will signal** | hackdays `codex/8-political-will-score` | LLM-derived governance/political-will sub-score from news/articles | Hackday (early) |
+
+> The Matching Engine has no new commits since 12 Jun (`feat: funder matcher`).
+> CAPAG and the political-will branch are the meaningful new inputs.
+
+## 3. The data layer — country-specific fiscal sources feed one readiness model
+
+The entity-creditworthiness pillars should be fed by **real national fiscal data
+via per-country adapters**, all keyed by **UN/LOCODE**:
+
+| Country | Source | Real signals | → pillars |
+|---|---|---|---|
+| **Brazil** | **CAPAG** (Tesouro Nacional, ODbL) | `capag` A+/A/B+/B/C/D · `ind1_endividamento` (debt/RCL) · `ind2_poupanca` · `ind3_liquidez` · `icf` (accounting quality) · `publicou_rgf/rreo` | creditworthiness ← capag · fiscalHealth ← ind1/2/3 · governance ← icf + transparency · legalCapacity ← A/B gates Union-guaranteed credit |
+| **Chile** | **SINIM / FCM** (via Matching Engine) | `composite_score` · `fcm_dependency_pct` · `professionalization_pct` · `cofinance_score` | fiscalHealth ← composite · governance ← professionalization · (estimated creditworthiness) |
+| **(any)** | **Political-will** branch | LLM article-derived signal | governance / political-will modifier |
+
+**CAPAG is the strongest fit:** it's a *real Treasury creditworthiness rating* that
+explicitly gates **Union-guaranteed credit** — the exact analog of the IDB SFP
+"borrow without sovereign guarantee" question. A/B = bankable; C/D = blocked from the
+federal-guarantee channel (grants/blended); n.d. = unrated (TA first). 99.96%
+LOCODE-matched to CityCatalyst. *(Screening signal, not a credit decision — keep STN's
+disclaimer.)*
+
+**Architecture implication:** introduce a **Fiscal Data Adapter** interface. Each
+country implements `locode → { pillar inputs, provenance }`. Brazil=CAPAG, Chile=SINIM.
+The readiness engine consumes the normalized output; the UI badges provenance.
+
+## 4. The shared spine (what every surface reuses)
+
+1. **Readiness framework** — one pluggable system, **two levels of profile**:
+ - *Project profiles* (Preparator: Tech/Fin/Pol per funder type).
+ - *Entity/instrument profiles* (justagiraffe: IDB SFP #1; CAF/WB/GCF next).
+ Extract as a shared package so there aren't 3 divergent models.
+2. **Fiscal Data Adapters** (§3) — CAPAG, SINIM, …
+3. **Funder catalog + funder navigator (a 3-level hierarchy).** Financing is specified at
+ three levels of granularity, and readiness is ultimately assessed against the most
+ specific one:
+ - **Funder / bank** — IDB, CAF, World Bank, GCF, BNDES…
+ - **Program** within the funder — e.g. IDB's **Sub-Sovereign Finance Program (SFP)**. *The
+ SFP is a **program**, not an instrument.*
+ - **Instrument** within the program — e.g. under SFP Subprogram 1, an **investment loan** or
+ **investment guarantee** (without sovereign guarantee); Subprogram 2's TC instruments.
+
+ So the city app's "choose instrument" step is really a **funder navigator** that drills
+ *funder → program → instrument*. It is fed by a **funder sourcing database / service** — the
+ converged catalog (today fragmented: Preparator's 18 LatAm instruments; Matching Engine's
+ Chile funds; CAPAG's BNDES/CCFLA angle; and funder data living in *different areas of
+ CityCatalyst*). Consolidating these into one sourcing service, plugged into the navigator,
+ is the target; each entry carries eligibility metadata (borrower type, ticket window,
+ sovereign-guarantee flag) and links to the readiness profile it implies.
+4. **Candidate dossier = the Concept Note, extended** — the machine-readable handoff
+ into a funder pipeline. Reuse the Preparator's GCF/C40 Concept Note and add the
+ entity-creditworthiness + instrument + pooling layer; don't invent a new schema.
+5. **CityCatalyst host** — inventory + HIAP supply the *what to fund*; the Journey
+ Navigator surfaces each module; OAuth + Global API + `locode`/`cityId` are the joins.
+
+## 5. End-to-end flow (both entry paths on one spine)
+
+```
+CityCatalyst: GHG inventory ──┐ ┌── CCRA climate risk
+ ▼ ▼
+ HIAP prioritized actions
+ │
+ ┌──────────────────────┴───────────────────────┐
+ PATH A (project-first) PATH B (capacity-first)
+ │ │
+ Project Preparator City Readiness Navigator
+ • Tech/Fin/Pol bankability • "Can I access IDB SFP?"
+ • project funders / PPFs • entity creditworthiness
+ • Concept Note ───────────────┐ • pick instrument / projects
+ ▼ │
+ City Readiness Navigator (entity / portfolio layer)
+ • entity readiness ◀── Fiscal Data Adapter (CAPAG / SINIM)
+ • pool to reach ticket size (Matching Engine)
+ • build dossier (= Concept Note + creditworthiness)
+ │ submit
+ ▼
+ Funder pipelines
+ • justagiraffe Control Tower (IDB Intake & Triage)
+ • CAPAG/BNDES-CCFLA funder screening (other funders)
+```
+
+## 5a. Diagram (Mermaid — canonical, renders on GitHub)
+
+```mermaid
+flowchart TB
+ subgraph CC["CityCatalyst — host & shared context (infrastructure)"]
+ HIAP["HIAP prioritized actions"]
+ INV["GHG inventory · CCRA risk"]
+ AGENT(["AI agents / MCP — shared context across modules"])
+ end
+
+ subgraph PREPM["Project Preparator — module on CityCatalyst"]
+ PREP["Project bankability (Tech/Fin/Pol) → Concept Note"]
+ end
+
+ DATA["Fiscal Data Adapters (locode-keyed) + map view CAPAG · Brazil | SINIM/FCM · Chile"]
+
+ MATCH(["Matching & Pooling — core service action→instrument | entity/pool→instruments + pooling"])
+
+ subgraph NAV["City Readiness Navigator — entity / portfolio (one vertical)"]
+ N1["① Entity creditworthiness diagnose for chosen instrument"]
+ N2["② Readiness pathways close the gap · coach to funder requirements (IDB SFP first)"]
+ N3["③ Portfolio & pooling → submit pool only if sub-scale"]
+ N1 --> N2 --> N3
+ end
+
+ CAP["Capacity building / PPF standalone support · entity or project, when not ready"]
+
+ subgraph FUND["Funder pipelines"]
+ IDB["IDB Control Tower Intake & Triage · Readiness Scoring · M&E & Board"]
+ OTHER["Other funders · BNDES / CCFLA"]
+ end
+
+ HIAP --> PREP
+ PREP -- "Concept Note (Path A)" --> N3
+ DATA -- "Path B · entity-first" --> N1
+ N2 -- "not ready → gap" --> CAP
+ MATCH -.-> PREP
+ MATCH -.-> NAV
+ N3 -- "dossier = Concept Note + creditworthiness" --> IDB
+ AGENT -.-> PREPM
+ AGENT -.-> NAV
+ AGENT -.-> IDB
+```
+
+> **Module hierarchy:** Preparator and Navigator are drawn as **peer modules on the
+> CityCatalyst host** (intended end-state — the Preparator is a separate-repo POC today,
+> `joaquinOEF/NBS-Project-Preparation`). **Navigator = one vertical, three steps:**
+> ① diagnose entity creditworthiness → ② readiness pathways (close the gap / coach to the
+> funder's requirements, IDB SFP first) → ③ portfolio & pooling (pool only if sub-scale) →
+> submit. **Capacity building / PPF is a standalone support track** reached from a "not
+> ready" diagnosis — not wired into the Preparator. Path A (a Concept Note) enters at ③;
+> Path B (entity-first) enters at ①.
+
+> Refinements behind this diagram (matching-as-core-service, entity-first naming,
+> capacity-building as a branch, single-vertical Navigator, AI-agent context) are detailed in
+> [`ITERATION-2.1-PLAN.md` §F–G](ITERATION-2.1-PLAN.md).
+
+> **Polished renders for presenting** (open & screenshot): the module-boundary view
+> [`diagrams/5a-integrated-architecture.svg`](diagrams/5a-integrated-architecture.svg) and the
+> pipeline view [`diagrams/process-timeline.svg`](diagrams/process-timeline.svg). See
+> [`diagrams/README.md`](diagrams/README.md). The mermaid above remains the source of truth.
+
+## 6. Module boundaries & contracts (to agree)
+
+- **HIAP → Preparator / Navigator:** prioritized actions (`actionId`, sector, type).
+- **Fiscal Data Adapter → Readiness Engine:** `locode → {creditworthiness, fiscalHealth, legalCapacity, governance, provenance}` (CAPAG & SINIM implementations).
+- **Preparator → Navigator:** a prepared project / Concept Note object.
+- **Matching Engine → Navigator:** funders-open per action + pool/aggregation candidates.
+- **Navigator → Control Tower:** the candidate **dossier** (Concept Note + creditworthiness + instrument + pool), written into Intake & Triage.
+
+## 7. What's real today vs. to-build
+
+- **Built (Navigator v2.2):** the 6-stage city-facing flow — Explore (map + **state/region vs
+ city** view + data-source toggle) → City context (inventory + CCRA + HIAP + plan) → **Choose
+ instrument** → Readiness pathways (assess + route) → **Portfolio (intra-city vs cross-city
+ pool)** → Funder intake (dossier). **Fiscal Data Adapters** for **CAPAG (Brazil)** and
+ **SINIM (Chile)** with the readiness map; the profile-driven readiness engine; the **dossier**
+ handoff to a funder-pipeline view; a simulated **CityCatalyst context + agent** seam. Two
+ worked cities/pathways: **Valdivia** (Ready → portfolio → IDB SFP) and **Canoas** (CAPAG C →
+ capacity-building). Control Tower copy upgrade (orientation banner, glosses, M&E explicit).
+- **Real data:** CAPAG (5,570 munis), SINIM/FCM (Chile), CityCatalyst inventory/HIAP/CCRA
+ (live in CityCatalyst; simulated in the Navigator pending embed).
+- **To build:** live CityCatalyst embed (OAuth/MCP, real inventory/HIAP); the **funder
+ navigator** drill-down (funder → program → instrument) + converged **funder sourcing service**
+ (§4.3); shared `@oef/readiness` package (de-dupe Navigator/Control Tower); real Navigator↔
+ Control Tower wiring (dossier writes into Intake & Triage); the Preparator handoff (Path A).
+
+## 8. Open decisions (for the review)
+
+1. **Shared readiness package** — extract now (de-dupe Navigator/Control Tower), or after the hackday?
+2. **Dossier = Concept Note** — adopt the Preparator's Concept Note as the handoff format?
+3. **Funder catalog** — one converged catalog, or keep per-team for now and map later?
+4. **CAPAG integration depth** — wire CAPAG as the Brazil adapter for a second hero city (e.g. a Brazilian municipality alongside Valdivia), to prove the multi-country pillar feed?
+5. **Where the Navigator lives** — sibling CityCatalyst module sharing the spine (recommended).
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/ITERATION-2.1-PLAN.md b/events/2026-06-11-unlock-the-money/justagiraffe/ITERATION-2.1-PLAN.md
new file mode 100644
index 0000000..edd96c5
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/ITERATION-2.1-PLAN.md
@@ -0,0 +1,164 @@
+# Iteration 2.1 — City Readiness Navigator + SFP Control Tower upgrade
+
+**Supersedes:** [`ITERATION-2-PLAN.md`](archive/ITERATION-2-PLAN.md) (all its points still hold;
+this refines them with the integrated architecture).
+**Reads with:** [`INTEGRATED-ARCHITECTURE.md`](INTEGRATED-ARCHITECTURE.md).
+**Why 2.1:** after reviewing the **Project Preparator** POC, the **CAPAG** project (Brazil
+creditworthiness), and the **City-Funder Matching Engine**, the model sharpened from "one
+app" to "**two readiness layers on a shared spine**." This plan positions the city-facing
+app inside that, and upgrades the IDB-facing Control Tower's language.
+
+---
+
+## A. The reframe that changes the build
+
+The Navigator is the **entity / instrument / portfolio** layer — *not* a project builder.
+The **Project Preparator** already does per-project bankability + funder matching + Concept
+Note. So the Navigator should:
+
+1. **Consume**, not re-create, prepared projects (Concept Notes) from the Preparator.
+2. Focus on **entity creditworthiness for a chosen instrument** (IDB SFP), fed by **real
+ national fiscal data** (CAPAG for Brazil, SINIM/FCM for Chile) via a Fiscal Data Adapter.
+3. **Pool** entities/projects to reach an instrument's ticket size.
+4. Emit the **dossier = Concept Note + creditworthiness + instrument + pool** into the IDB
+ Control Tower's Intake & Triage.
+
+This *removes* scope (we don't build project preparation) and *adds* the missing connective
+tissue (adapters, dossier, pooling-as-portfolio).
+
+## B. City-facing app — workstreams (refines v2's WS-A…H)
+
+- **WS-1 Entry & dual path** — enter from CityCatalyst (inventory + HIAP). Support both
+ entry paths: *project-first* (arrive from a Preparator Concept Note) and *capacity-first*
+ ("can I access IDB SFP?"). Show provenance. *(refines v2 §1)*
+- **WS-2 Fiscal Data Adapter** — define `locode → {pillars, provenance}`; implement **CAPAG
+ (Brazil)** and **SINIM (Chile)**. Add a **Brazilian hero city** (CAPAG-rated) alongside
+ Valdivia to prove the multi-country pillar feed. *(new — from CAPAG review)*
+- **WS-3 Shared readiness package** — extract `@oef/readiness` (engine + profiles) used by
+ Navigator + Control Tower; design it to also host *project-level* profiles so the
+ Preparator can converge later. *(refines v2 §4)*
+- **WS-4 Choose instrument + eligibility** — rename "pick a target" → **"Choose the
+ financing instrument"**; reframe readiness as instrument/funder/product-specific; add the
+ `eligibleUse` panel (what expenses the instrument funds). *(refines v2 §3, §7)*
+- **WS-5 Build readiness** — merge "Prepare/Close the gap"; two failure modes (readiness gap
+ → PPF/TC; ticket-size gap → pool); drop "bankability" language. *(refines v2 §5)*
+- **WS-6 Portfolio / pooling** — rename "the gap becomes the deal" → **"Build a financeable
+ portfolio"**; clarify co-finance units (0–100 index, not $); add region/country geography
+ + Los Ríos map; reconcile with the Matching Engine's existing `aggregation` pathway.
+ *(refines v2 §6)*
+- **WS-7 Dossier = Concept Note** — adopt/extend the Preparator's GCF/C40 Concept Note as
+ the machine-readable handoff; write it into the Control Tower's Intake & Triage. *(refines v2 §8)*
+- **WS-8 Copy/polish** — kill marketing titles; disable the Next.js dev indicator. *(v2 §10)*
+
+**Order:** WS-3 → WS-2 → WS-1/4 → WS-5/6 → WS-7 → WS-8.
+
+## C. SFP Control Tower (IDB-facing) — language upgrade
+
+The Control Tower is **IDB-facing**, so it needs a **thinner** explanatory layer than the
+city app (the user is an expert) — but it currently assumes too much. Upgrade the front end:
+
+1. **One-line orientation banner** (who/what): *"Screening room for the IDB Sub-Sovereign
+ Finance Program (SFP) — a 5-year pilot lending directly to subnational governments (SNGs)
+ without a sovereign guarantee. Each candidate is one record seen through three lenses."*
+2. **Define acronyms once, inline, on first use** (hover or a small glossary chip): SFP, SNG,
+ sovereign guarantee, non-accrual, OVE, Ordinary Capital, TC, Subprogram 1/2. Don't strip
+ them (IDB uses them) — just gloss them once.
+3. **Keep "M&E" explicit — title it "Monitoring & Evaluation (M&E) & Board".** M&E *is*
+ understood at IDB, and the team has built real M&E content, so spell it out rather than
+ hide it. Add a one-line subhead: *"How the pilot proves itself — indicators vs. targets
+ for the year-3 and year-5 Board / OVE reviews."* (Expand the acronym once on first use.)
+4. **Tab subheads** — each of the three tabs gets a one-line "what this answers":
+ - Intake & Triage → "Where each candidate sits in the IDB review process, and what's blocking it."
+ - Readiness Scoring → "The early creditworthiness assessment — is this SNG ready, and why."
+ - Results & Board Reporting → as above.
+5. **Geography** — show candidate country/region (a small map or country chips), so IDB sees
+ the portfolio's geography.
+6. **The dossier view** — render the incoming candidate dossier (WS-7) as an expandable
+ intake card (project plan + creditworthiness + instrument + pool), so Intake & Triage is
+ fed by the city app, not hand-entered.
+
+> Keep the IDB skin and density; this is *clarification*, not a redesign. The city app
+> carries the heavy hand-holding; the Control Tower carries crisp expert labels.
+
+## D. Open decisions (confirm before building) — see architecture §8
+
+1. Extract the shared `@oef/readiness` package now, or after the hackday?
+2. Adopt the Preparator's **Concept Note as the dossier** format?
+3. **Converge the funder catalog**, or map per-team for now?
+4. Add a **Brazilian CAPAG hero city** alongside Valdivia this iteration? *(recommended — it
+ proves the multi-country, real-creditworthiness story.)*
+5. Navigator as a sibling CityCatalyst module sharing the spine? *(recommended.)*
+
+## E. Sequencing
+
+Per Martin: review the two running apps + this plan together → lock §D → execute the
+city-app workstreams (B) and the Control Tower upgrade (C) → **then** render the
+[architecture diagram](INTEGRATED-ARCHITECTURE.md) as the visual artifact on top of the
+built result.
+
+---
+
+## F. Refinements from review 3 (architecture + UX)
+
+These came from Martin's read of the integrated architecture and refine §A–§C:
+
+1. **Matching is a *core service*, not Chile-only data.** The City-Funder Matching Engine's
+ reusable part is its **matching + pooling logic**, callable at *both* altitudes — *action →
+ instrument/funder* (project level, what the Preparator needs) and *entity/pool → eligible
+ instruments + pooling* (entity level, what the Navigator needs). SINIM is just its current
+ Chilean **data instance**. Model it as a shared service with pluggable data, alongside the
+ Fiscal Data Adapters.
+2. **"Path B" is entity-first, not "capacity-first."** It analyses the **municipal entity's
+ creditworthiness**, so name it **"entity-first"** (vs. "project-first" for Path A).
+ Separately, **"capacity building" is a support track**, not an entry path — it's what a
+ city *or* a project may need when the diagnosis says they're not yet ready (e.g. a fiscal
+ improvement plan before creditworthiness, or feasibility work before a PPF). Show it as a
+ branch off the readiness diagnosis that applies to both layers.
+3. **The Navigator is one vertical with two steps**, not two boxes. ① Entity creditworthiness
+ → ② Portfolio & pooling → submit. **Path A (a prepared project / Concept Note) connects
+ into step ②**; **Path B (entity-first) enters at step ①.**
+4. **Dual entry + import/interoperability.** Because these modules interoperate, the Navigator
+ should offer **import options** at entry (pull a prepared project from the Preparator, pull
+ an entity's fiscal profile from an adapter) rather than re-entry.
+5. **"Build readiness" → "Readiness pathways."** The step *assesses* readiness and **routes**:
+ ready → proceed; not-ready → a capacity-building/PPF pathway; ready-but-sub-scale → pooling.
+ "Build readiness" wrongly presumes not-ready; **"Readiness pathways"** frames it as the
+ diagnosis-and-route step.
+6. **Geographic / map view of financial readiness.** A map layer that shows readiness across a
+ scope (CAPAG tiers over Brazil, SINIM over Chile) and **zooms to the city/project location**
+ — an intuitive front door for the adapters and for funders scanning a portfolio.
+7. **Left-hand process menu.** The workstreams are a top-to-bottom process (upstream →
+ downstream). Use a **left vertical nav** (Source → Readiness → Portfolio → Funder intake)
+ rather than a horizontal stepper, so the flow reads as a pipeline.
+
+## G. Cross-cutting requirement — AI-agent shared context (CityCatalyst)
+
+The app must integrate with **CityCatalyst's AI-agent infrastructure** (its MCP server /
+climate-advisor / the Preparator's agent layer) so **context is shared across modules** — a
+city's inventory, HIAP priorities, prepared projects, and readiness travel with the user
+instead of being re-derived per app. Practically: the Navigator reads/writes through the
+CityCatalyst agent/MCP layer, and exposes its own readiness + dossier as agent-callable
+context. This is a first-class requirement, not a nice-to-have.
+
+## H. Build pathway — to make the running app reflect the architecture
+
+The sequence to get from today's Phase-0–3 app to an app that *shows the architecture through
+its interface*:
+
+1. **Shell & navigation (WS-1, §F-7):** restructure the app around a **left-hand process menu**
+ (Source · Readiness pathways · Portfolio · Funder intake), single-vertical Navigator.
+2. **Fiscal Data Adapter + map (WS-2, §F-6):** implement the adapter interface with **CAPAG
+ (Brazil)** and **SINIM (Chile)**; add the **map view** of readiness; add a Brazilian hero
+ city beside Valdivia.
+3. **Readiness pathways (WS-5, §F-5):** the assess-and-route step (ready / capacity-building /
+ pool), with the capacity-building branch shown for entity *and* project.
+4. **Matching core service (§F-1):** wire discovery + pooling as calls to one matching service.
+5. **Dual entry + import (§F-4):** project-first (import a Concept Note → step ②) and
+ entity-first (→ step ①).
+6. **Dossier = Concept Note (WS-7):** assemble + write into the Control Tower Intake.
+7. **AI-agent context (§G):** read/write city context through the CityCatalyst MCP/agent layer.
+8. **Control Tower language upgrade (§C):** thin IDB-facing copy incl. **M&E** kept explicit.
+9. **Copy/polish (WS-8):** kill marketing titles, disable the dev indicator.
+
+Recommended build order: **1 → 2 → 3 → 5 → 4 → 6 → 8 → 7 → 9** (UI shell first so the
+architecture is legible as it fills in; AI-agent wiring after the data contracts are stable).
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/PRD-city-facing-readiness-app.md b/events/2026-06-11-unlock-the-money/justagiraffe/PRD-city-facing-readiness-app.md
new file mode 100644
index 0000000..1dca5de
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/PRD-city-facing-readiness-app.md
@@ -0,0 +1,325 @@
+# PRD — City Readiness Navigator (CityCatalyst module)
+
+**Status:** Draft for autonomous build · **Owner:** Martin (OEF) · **Team:** justagiraffe
+**One line:** A CityCatalyst Journey Navigator module that helps a Latin American city find which funders its climate plan can reach, see exactly how *ready* it is for a chosen instrument (starting with the IDB Sub-Sovereign Finance Program), close the gap with funded TC, and — when ready — submit into that funder's pipeline.
+
+> This PRD is written to be handed to an autonomous build agent. Integration facts
+> are grounded in a primary-source review of the CityCatalyst monorepo
+> (`github.com/Open-Earth-Foundation/CityCatalyst`), the Global API
+> (`ccglobal.openearth.dev/openapi.json`), and the HIAP service. Items that could
+> not be confirmed against source are marked **[VERIFY]**.
+
+---
+
+## 0. Build status & key clarifications (v2.2, 15 Jun 2026)
+
+**Built (runs locally):** a **6-stage** city-facing flow — **Explore** (readiness map with a
+**state/region ↔ city** toggle + a data-source toggle) → **City context** (inventory + CCRA +
+HIAP + climate plan, from the CityCatalyst seam) → **Choose instrument** → **Readiness
+pathways** (assess + route) → **Portfolio** (**intra-city** vs **cross-city pool**) → **Funder
+intake** (dossier → pipeline). Real fiscal data via **CAPAG (Brazil)** and **SINIM (Chile)**
+adapters; two worked cities — **Valdivia** (Ready → portfolio → IDB SFP) and **Canoas** (CAPAG
+C → capacity-building). The 7-step spec in §4 is the origin; the built structure is the 6 stages
+above (left-hand process menu).
+
+**Naming.** "Readiness" is too broad — this is **finance readiness** / **climate-finance
+readiness**. Keep the app's subtitle ("Climate-finance readiness for cities & regions") front
+and center; a rename should preserve that.
+
+**Funder hierarchy (3 levels) — refines "Choose instrument".** Financing has three levels of
+specificity and readiness is assessed against the most specific: **funder/bank → program →
+instrument**. The **IDB SFP is a *program***, not an instrument; its instruments are the
+investment loan / guarantee (Subprogram 1) and TC (Subprogram 2). So this step should become a
+**funder navigator** that drills funder → program → instrument, fed by a converged **funder
+sourcing database / service** (today fragmented across CityCatalyst and the hackday apps; see
+[`INTEGRATED-ARCHITECTURE.md` §4.3](INTEGRATED-ARCHITECTURE.md)). *Not yet built — current step
+selects IDB SFP directly.*
+
+## 1. Why this exists
+
+Two hackday prototypes each built half of the "unlock the money" chain and neither
+is embedded in CityCatalyst:
+
+- **justagiraffe / Control Tower** — an IDB-facing console with a *readiness engine*
+ (now profile-driven; see `control-tower/READINESS-PROFILES.md`). It answers "is
+ this borrower ready?" but has no city-facing front door and no way for candidates
+ to arrive.
+- **City-Funder Matching Engine** — matches a city's climate actions to funding
+ instruments and pools small cities into financeable bundles. It answers "which
+ funder fits?" but has no readiness depth.
+
+**The missing piece is the city-facing app** that joins them inside CityCatalyst:
+*match → assess readiness for the chosen target → prepare → submit.* Readiness is
+the bridge, and it is **target-specific** — a city is ready *for a particular
+instrument's criteria*, encoded as a pluggable **readiness profile** (IDB SFP is
+profile #1; other MDBs add their own).
+
+**Revenue framing (keep central):** a premium CityCatalyst capability for cities +
+a de-risked deal pipeline for any MDB. Repeatable to CAF, World Bank, EIB, GCF by
+adding a readiness profile — no new app.
+
+### 1a. The model (v2.1 reframe — read before §4)
+
+After reviewing the **Project Preparator** POC, **CAPAG** (Brazil), and the Matching
+Engine, the product sharpened from "one app" to **two readiness layers on a shared
+spine** (full rationale in [`INTEGRATED-ARCHITECTURE.md`](INTEGRATED-ARCHITECTURE.md)):
+
+- **Project bankability** ("is *this project* fundable?") — owned by the **Project
+ Preparator** (Tech/Fin/Pol → Concept Note). The Navigator **consumes** these; it does
+ **not** rebuild project preparation.
+- **Entity creditworthiness** ("can *this city/pool* take on *this instrument*?") — this
+ app. The Navigator is the **entity / instrument / portfolio** layer.
+
+What this changes in the spec below:
+1. **Navigator = one vertical, three steps:** ① diagnose entity creditworthiness for the
+ chosen instrument → ② **readiness pathways** (assess-and-route: ready → proceed;
+ not-ready → close the gap / coach to the funder's requirements, or a funded
+ capacity-building/PPF track; sub-scale → pool) → ③ portfolio & pooling → submit.
+ Pooling is **conditional** — a large-enough city skips it.
+2. **Dual entry.** *Project-first* (Path A): a prepared Concept Note enters at step ③.
+ *Entity-first* (Path B): a city asking "can I access IDB SFP?" enters at step ①. Offer
+ **import** at entry (pull a Concept Note from the Preparator, pull a fiscal profile from
+ an adapter) rather than re-entry. ("Capacity-first" is *not* an entry path — capacity
+ building is a support track off the readiness diagnosis.)
+3. **Matching + Pooling is a shared core service** (action→instrument and
+ entity/pool→instruments), not Chile-only data. SINIM is its current data instance.
+4. **Fiscal Data Adapters** (`locode → {pillars, provenance}`) feed creditworthiness:
+ **CAPAG** (Brazil), **SINIM/FCM** (Chile); a **map view** badges readiness by geography.
+5. **The handoff is the dossier = Concept Note + creditworthiness + instrument + pool.**
+6. **Shell is a left-hand process menu** (Source · Readiness pathways · Portfolio · Funder
+ intake), not a horizontal stepper — the flow reads as a pipeline.
+
+The 7-step journey in §4 remains the functional spec; the names below reflect this reframe
+(e.g. "Pick a target" → "Choose the instrument"; "Prepare" → "Readiness pathways").
+
+## 2. Goals / non-goals
+
+**Goals**
+1. A city officer, starting from their existing CityCatalyst plan, can in one
+ session: see reachable funders, pick a target (IDB SFP), get a defensible
+ readiness score + gap, see the funded preparation path, and submit when ready.
+2. Run on **real data where it exists** (CityCatalyst city context + HIAP
+ priorities; Chilean fiscal capacity from the Matching Engine), clearly labeled
+ real-vs-estimated.
+3. Be a **first-class CityCatalyst module** (Journey Navigator entry, per-project
+ access, OAuth, CityCatalyst look-and-feel), not a standalone microsite.
+4. Emit a clean **handoff object** so a "Ready" city/pool appears in the IDB-side
+ Control Tower pipeline.
+
+**Non-goals (this iteration)**
+- No real money movement, contracts, or write-back into IDB systems.
+- Not a replacement for IDB's internal due diligence — the app produces a
+ *defensible candidate*, not an approval.
+- Not multi-funder submission UX beyond IDB SFP (others are profile stubs).
+- No new emissions/risk modeling — consume CityCatalyst's existing outputs.
+
+## 3. Primary user & job
+
+**User:** a city/SNG finance or planning officer (or a consultant acting for them)
+in an IDB borrowing member country, already using CityCatalyst.
+**Job-to-be-done:** *"Show me what money my climate plan can realistically reach,
+whether we qualify, and exactly what we must fix to get funded — then let us start."*
+
+Secondary viewer: an MDB/regional officer (the receiving side) — served by the
+existing Control Tower, fed by this app's handoff.
+
+## 4. The journey (functional spec, 7 steps)
+
+The module is a short guided flow. Each step lists its data source and the
+acceptance behavior.
+
+| # | Step | What the user sees | Source |
+|---|------|--------------------|--------|
+| 1 | **Enter** | The city's existing profile (name, locode, population, region, GPC emissions, HIAP priorities) auto-loaded — no re-entry. | CityCatalyst app `/api/v1` (OAuth) + Global API city context |
+| 2 | **Discover** | "Funders your plan can reach" — instruments matched to the city's prioritized actions, each tagged applicant / facilitator / referrer, with gaps named. IDB SFP appears when eligible. | Matching Engine outputs (`valdivia_funders_open.csv`, `*_action_matches.csv`); HIAP for priorities |
+| 3 | **Choose instrument** *(→ funder navigator)* | Today: selects IDB SFP and loads its **readiness profile**. Target (§0): a **funder navigator** drilling **funder → program → instrument** (SFP is a *program*), fed by the funder sourcing service. Carries the "you may be eligible for a direct line" note. | `readiness-profiles.js` registry; funder sourcing service (to build) |
+| 4 | **Diagnose** | Readiness score (composite + four pillars), tier (Ready/Developing/Early), "why this score" per-pillar contribution, the eligibility gate pass/fail, and the documentary checklist — all for the chosen target. Real-vs-estimated badges per signal. | `scoring.js` (active profile) over CityCatalyst + Matching Engine capacity data |
+| 5 | **Readiness pathways** | Assess-and-route, not just "prepare." For each gap: the concrete fix and its route — self-serve coaching to the funder's requirements, or a funded capacity-building/PPF track (for IDB, **Subprogram 2 TC**, ~US$13M envelope: regular + contingent-recovery). Turns "rejected" into "here's the path." (formerly "Prepare") | Profile `preparation` track + checklist gaps |
+| 6 | **Pool (if needed)** | If the city is below the target's ticket size, the engine pools it with neighbours into one financeable bundle, names the anchor, flags TA-needed members. Readiness then evaluates the anchor/pool. | Matching Engine `coordination_units.csv`, `unit_bundle_candidates.csv` |
+| 7 | **Submit** | When readiness for the instrument is met (score ≥ tier + clearance gates pass), "Submit to IDB" emits the **dossier** (= Concept Note + creditworthiness + instrument + pool); the city/pool appears in the Control Tower's Project Review. | Handoff contract (§6) |
+
+Steps 1–6 are city-facing (inside CityCatalyst); step 7 crosses the boundary to
+the funder-facing Control Tower. **Dual entry** (see §1a): *entity-first* (Path B) starts
+at step 1; *project-first* (Path A) imports a Concept Note and enters at step 6/7. **Step 6
+(Pool) is conditional** — a city at or above the instrument's ticket size proceeds straight
+to Submit. Present the flow as a **left-hand process menu** (Source · Readiness pathways ·
+Portfolio · Funder intake), not a horizontal stepper.
+
+## 5. Integration architecture (CityCatalyst)
+
+Grounded in the SDK review. **There is no published CityCatalyst SDK package** —
+TS/Python clients are CI-generated from the OpenAPI spec but not on a registry.
+Integrate via **REST + OAuth 2.0 (+ optional MCP)**, and register as a **Module**.
+
+### 5.1 Module registration (Journey Navigator)
+CityCatalyst's Journey Navigator hosts a catalog of modules (gated by the
+`JN_ENABLED` flag). A module is a row in the `Module` table
+(`app/migrations/20250721185038-Module_create.cjs`):
+- `id` (UUID), `stage`/`step` (e.g. `plan` or `implement` — **[VERIFY]** which
+ stage finance belongs to; "Implement" is the likely fit), `name`/`tagline`
+ (multilingual JSON `{en,es,pt}`), `type` (`OEF` for an OEF-built module),
+ `url`, `author: "Open Earth Foundation"`, `status`.
+- Per-project access via `GET /api/v1/city/{cityId}/modules/{moduleId}/access`
+ → `{ data: { hasAccess: boolean } }`.
+- **[VERIFY]** Exact embed mechanism for an independently hosted module
+ (iframe vs micro-frontend vs redirect) — README says "independently hosted and
+ surfaced in-app." Confirm with `HomePageJN/HomePage.tsx`, `JNDrawer.tsx`, or the
+ CityCatalyst team. **Decision needed before build** (see §9).
+
+### 5.2 Auth — OAuth 2.0 / PKCE
+- Standards-based (RFC 8414 discovery at `GET /api/v1/oauth/metadata`, gated by
+ `OAUTH_ENABLED`), PKCE `S256`, scopes `read`/`write`, grant types
+ `authorization_code` + `refresh_token`.
+- Onboard via Admin → "OAuth 2.0 Clients" → Add Client (name, redirect URI) →
+ client ID (public client, no secret). Reference SPA: `api-demo/` using
+ `oauth4webapi`.
+- Origins: prod `citycatalyst.io`, dev `citycatalyst.openearth.dev`,
+ test `citycatalyst-test.openearth.dev`, local `localhost:3000`.
+
+### 5.3 Reading city data
+**App API (`/api/v1`, authenticated)** — the city's own inventory/plan:
+- City profile, inventories, emissions, action plans, risk — also exposed via the
+ **MCP server** (`/api/v1/mcp`) tools: `get_user_cities`, `get_city_profile`,
+ `get_user_inventories`, `get_inventory_emissions`, `get_climate_action_plans`,
+ `get_climate_risk_assessment`.
+
+**Global Data API (`ccglobal.openearth.dev`, public read-only [VERIFY auth])** —
+context + reference data (spec at `/openapi.json`, mixed `v0`/`v1` paths):
+- `GET /api/v0/city_context/city/{locode}` → `{locode,name,region,regionName,populationSize,populationDensity,area,elevation,biome,socioEconomicFactors,accessToPublicServices}`
+- `GET /api/v0/cityboundary/city/{locode}` / `.../area`
+- `GET /api/v0/climate_actions?language=` → action library (`ActionID` e.g. `c40_0010`, multilingual name/description, `Sector`/`Subsector` GPC-aligned)
+- `GET /api/v1/cities/{locode}/action-policy-scores`, `.../action-mitigation-feasibility-scores` — precomputed per-city action scores
+- `GET /api/v0/source/{source}/city/{locode}/{year}/{GPC_refno}` — city emissions
+
+**HIAP (prioritizer, async)** — the city's prioritized actions:
+- `POST /prioritizer/v1/start_prioritization` → `{taskId}`; poll
+ `GET /prioritizer/v1/check_prioritization_progress/{task}`; fetch
+ `GET /prioritizer/v1/get_prioritization/{task}`.
+- Input: `cityData` (`CityContextData{locode,populationSize}` +
+ `CityEmissionsData{stationaryEnergy,transportation,waste,ippu,afolu}`),
+ `countryCode`, `prioritizationType` (mitigation|adaptation|both), `language[]`.
+- Output: `rankedActionsMitigation[]` / `rankedActionsAdaptation[]`, each
+ `{actionId, rank, explanation{explanations:{lang}}}`.
+
+### 5.4 Join keys
+- **`cityId`** (UUID) — app DB primary key; module-access + app `/api/v1` routes.
+- **`locode`** (UN/LOCODE, space form e.g. `BR RIO`, URL-encode `BR%20RIO`) —
+ cross-service join (Global API, HIAP, Matching Engine capacity data).
+- **`actor_id`** — population/CCRA endpoints (**[VERIFY]** namespace/format).
+
+## 6. Data contracts
+
+### 6.1 Readiness profile (input)
+Already implemented — `control-tower/readiness-profiles.js`. The app loads the
+active profile and calls `ScoringModel.scoreSNG(candidate)`. Schema in
+`READINESS-PROFILES.md`. The app must build a `candidate` record shaped like the
+Control Tower's SNG record (`readiness{4 pillars}`, `signals{...}`,
+`proposal{askUSDm, stage, ...}`).
+
+### 6.2 Capacity signal mapping (real data in)
+For Chilean cities, populate `readiness.fiscalHealth` / `readiness.governance` and
+`signals.*` from the Matching Engine's `comuna_capacity_scores.csv`
+(`locode`-keyed: `fcm_dependency_pct`, `cofinance_score`, `professionalization_pct`,
+`staff_per_1000`, `anchor_score`). Profile `signalSources` documents the mapping.
+Everything else falls back to mock, **labeled**.
+
+### 6.3 Handoff object (output → Control Tower)
+On Submit, emit:
+```json
+{
+ "candidateId": "string",
+ "kind": "city" | "pool",
+ "locode": "CL ZAL",
+ "cityId": "uuid",
+ "anchorLocode": "CL ZAL",
+ "members": ["CL ZAL", "..."],
+ "targetProfileId": "idb-sfp",
+ "compositeReadiness": 74,
+ "tier": "Ready",
+ "clearancePassed": true,
+ "proposal": { "title": "...", "askUSDm": 30, "sector": "transport" },
+ "provenance": { "fiscalHealth": "real:SINIM", "governance": "real:SINIM", "creditworthiness": "mock" },
+ "submittedAt": "ISO-8601"
+}
+```
+The Control Tower ingests this into Project Review (Ready cities only).
+**[VERIFY]** persistence mechanism for the demo (shared JSON / localStorage /
+posted endpoint) — for the prototype a shared in-memory/JSON store is acceptable.
+
+## 7. Tech stack & conventions
+
+Match CityCatalyst so the module feels native:
+- **Next.js 15 (App Router) + React 18 + TypeScript** (the hackday `apps/_template`).
+- **Chakra UI v3** + Emotion; reuse CityCatalyst typography components if building
+ inside the monorepo.
+- **Fonts:** Poppins (headings) + Open Sans (body). **Theme:** `blue_theme` default.
+- **Data:** RTK Query against `/api/v1`; raw fetch for the Global API.
+- **i18n:** i18next, locales **en / es / pt** minimum (multilingual JSON content).
+- Standalone-app fallback (if not embedding in the monorepo this week): a Next.js
+ app using CityCatalyst design tokens (Poppins/Open Sans, blue palette) + OAuth
+ PKCE via `oauth4webapi`, surfaced later as a Module `url`.
+
+## 8. Build phases (for the autonomous agent)
+
+> **Status (v2.2):** Phases 0–3 are **built** (the 6-stage flow, CAPAG+SINIM adapters, map,
+> instrument step, intra/cross portfolio, dossier → pipeline, simulated context/agent seam).
+> **Remaining:** Phase 4 (live CityCatalyst embed — OAuth/MCP), the **funder navigator**
+> drill-down + funder sourcing service (§0), shared `@oef/readiness` package, and real
+> Navigator↔Control Tower wiring.
+
+**Phase 0 — Skeleton.** Next.js 15 + Chakra 3 app from `apps/_template`,
+CityCatalyst theme tokens, i18n scaffold, the 7-step flow shell with mock data.
+Hero city: **Valdivia (`CL ZAL`)**, the cross-team worked example.
+
+**Phase 1 — Readiness on real-ish data.** Wire `readiness-profiles.js` +
+`scoring.js` (import the module's engine). Load Valdivia from the Matching Engine
+capacity CSV → real `fiscalHealth`/`governance`; render steps 3–5 (pick target,
+diagnose, prepare) with real-vs-mock badges.
+
+**Phase 2 — Discover + Pool.** Step 2 (funders open) and step 6 (pool unit 11)
+from Matching Engine derived data. Readiness re-evaluates the anchor.
+
+**Phase 3 — Submit + handoff.** Step 7 emits §6.3; Control Tower reads it into
+Project Review. Demo the full Valdivia flow end to end.
+
+**Phase 4 — CityCatalyst embed.** OAuth PKCE client; pull live city context +
+HIAP priorities for one live city; register the Module row. (Depends on §9.)
+
+## 9. Open questions / blockers (resolve before/within build)
+
+1. **Embed mechanism** for an externally-hosted module in the Journey Navigator
+ (iframe / micro-frontend / redirect) — **[VERIFY]** with CityCatalyst team.
+ Until resolved, build standalone (Phase 0–3) and treat embed as Phase 4.
+2. **Global API auth** — appears public read-only but the OpenAPI spec defines no
+ security scheme; confirm before depending on it in production.
+3. **Matching Engine data contract** — agree the exact CSV/JSON the city app reads
+ for funders-open and pools (today they're derived CSVs in the other repo).
+4. **Handoff persistence** for the demo (shared store vs posted endpoint).
+5. **Which journey stage** the finance module belongs to (Implement vs a new
+ "Finance" stage) — **[VERIFY]** with CityCatalyst.
+6. **HIAP cost/latency** — prioritization is async + calls OpenAI; cache per city.
+
+## 10. Acceptance criteria (demo)
+
+- A user opens the module on Valdivia and, without manual data entry, sees reachable
+ funders, picks IDB SFP, and gets a readiness score with a per-pillar "why."
+- At least `fiscalHealth` and `governance` are driven by **real** SINIM/FCM data,
+ badged real (others badged mock).
+- The transport gap (no instrument fits Valdivia alone) flows into a pooled bundle
+ (unit 11) with Valdivia as anchor.
+- Submitting a Ready pool makes it appear in the Control Tower's Project Review via
+ the §6.3 handoff.
+- Swapping the active readiness profile changes the criteria the city is judged
+ against — same app, different MDB.
+- UI reads as CityCatalyst (Poppins/Open Sans, blue theme); copy in en + es.
+
+## Appendix — primary sources
+
+CityCatalyst monorepo `README.md`; `app/migrations/20250721185038-Module_create.cjs`;
+`app/src/app/api/v1/city/[city]/modules/[module]/access/route.ts`;
+`app/src/app/api/v1/oauth/metadata/route.ts`; `app/src/app/api/v1/mcp/route.ts`;
+`app/src/models/City.ts`; `hiap/README.md`, `hiap/app/prioritizer/{api,models}.py`;
+`api-demo/README.md`; `app/src/app/providers.tsx`; Global API spec
+`https://ccglobal.openearth.dev/openapi.json`. Readiness engine:
+`control-tower/readiness-profiles.js`, `control-tower/scoring.js`,
+`control-tower/READINESS-PROFILES.md`.
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/README.md b/events/2026-06-11-unlock-the-money/justagiraffe/README.md
new file mode 100644
index 0000000..82414f3
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/README.md
@@ -0,0 +1,72 @@
+# justagiraffe — "Unlock the Money" workstream
+
+**What this team is building:** the city→funder climate-finance chain, as **two runnable
+apps on a shared readiness spine** plus the architecture that ties them (and the other
+hackday modules) together.
+
+> **Start here →** read in this order: this file → [`INTEGRATED-ARCHITECTURE.md`](INTEGRATED-ARCHITECTURE.md)
+> (the system map) → [`PRD-city-facing-readiness-app.md`](PRD-city-facing-readiness-app.md)
+> (what the city app is) → [`ITERATION-2.1-PLAN.md`](ITERATION-2.1-PLAN.md) (what we're
+> building now). The two diagrams in [`diagrams/`](diagrams/) are the 1-screen version.
+
+## The two apps
+
+| App | Faces | Lives in | Run |
+|---|---|---|---|
+| **City Readiness Navigator** | the **city** — match → readiness pathways → portfolio → submit | [`city-readiness-navigator/`](city-readiness-navigator/) | Next.js (`npm i && npm run dev`) |
+| **SFP Control Tower** | the **IDB** — Intake & Triage · Readiness Scoring · M&E & Board | [`control-tower/`](control-tower/) | static — open `index.html` |
+
+They share a **readiness engine** (`readiness-profiles.js` + `scoring.js`). It currently
+exists in **both** apps (`control-tower/` and `…/navigator/src/lib/readiness/`) — extracting
+one shared `@oef/readiness` package is an open decision (architecture §8).
+
+## Folder layout
+
+```
+justagiraffe/ everything the team builds lives here
+├── README.md ← you are here (the map)
+├── INTEGRATED-ARCHITECTURE.md canonical · system map (§5a diagram)
+├── PRD-city-facing-readiness-app.md canonical · city app definition
+├── ITERATION-2.1-PLAN.md canonical · current execution plan
+├── diagrams/ polished SVGs for presenting
+├── city-readiness-navigator/ the city-facing app (Next.js)
+├── control-tower/ the IDB-facing app (code + its own docs + M&E)
+├── archive/ superseded / historical (not current)
+└── reference/ source material (IDB PDF, notes, team)
+```
+Both apps are siblings under `justagiraffe/` — the team folder is self-contained
+(no team code outside it), which keeps things clean when branches merge to `main`.
+
+## The documents
+
+**Canonical (current — read these):**
+- [`INTEGRATED-ARCHITECTURE.md`](INTEGRATED-ARCHITECTURE.md) — how all modules fit (the system map; §5a diagram).
+- [`PRD-city-facing-readiness-app.md`](PRD-city-facing-readiness-app.md) — the City Readiness Navigator product definition (the durable *what/why*).
+- [`ITERATION-2.1-PLAN.md`](ITERATION-2.1-PLAN.md) — the current execution plan (the *how/now*).
+- [`diagrams/`](diagrams/) — polished SVGs for presenting (5a module view + process timeline).
+
+**Control Tower (IDB-facing app) — in [`control-tower/`](control-tower/):**
+- [`control-tower/README.md`](control-tower/README.md) — how the Control Tower works.
+- [`control-tower/SPEC.md`](control-tower/SPEC.md) — product spec (next-iteration fidelity + IDB branding).
+- [`control-tower/IMPLEMENTATION_PLAN.md`](control-tower/IMPLEMENTATION_PLAN.md) — split readiness from project review.
+- [`control-tower/READINESS-PROFILES.md`](control-tower/READINESS-PROFILES.md) — the profile-driven scoring schema.
+- [`control-tower/Monitoring_Evaluation.md`](control-tower/Monitoring_Evaluation.md) + [`control-tower/MandE-questions.md`](control-tower/MandE-questions.md) — **M&E framework** (Annex IV + forward-looking readiness), authored by Mirco.
+
+**Historical / superseded — in [`archive/`](archive/):**
+- [`archive/ITERATION-2-PLAN.md`](archive/ITERATION-2-PLAN.md) — *superseded by* `ITERATION-2.1-PLAN.md`.
+- [`archive/ROADMAP.md`](archive/ROADMAP.md) — original 24h hackday roadmap (11–12 Jun).
+
+**Source material / reference — in [`reference/`](reference/):**
+- `reference/IDB cities regions - Document proposal - Public.pdf` — the IDB SFP program doc.
+- `reference/idb.txt` — raw IDB notes. · `reference/teammembers.md` — team.
+
+## The model in one line
+
+Two readiness questions, kept modular: **is the _project_ bankable?** (Project Preparator)
+vs. **is the _entity_ creditworthy for this instrument?** (this Navigator). A city enters from
+either side; the Navigator adds creditworthiness + pooling and hands a **dossier** to the IDB
+Control Tower. Full rationale in [`INTEGRATED-ARCHITECTURE.md`](INTEGRATED-ARCHITECTURE.md).
+
+---
+*Status (15 Jun 2026): both apps run locally; architecture + PRD reflect the v2.1 two-layer
+reframe; Mirco's M&E framework folded into `control-tower/`; iteration 2.1 build in progress.*
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/archive/ITERATION-2-PLAN.md b/events/2026-06-11-unlock-the-money/justagiraffe/archive/ITERATION-2-PLAN.md
new file mode 100644
index 0000000..c1037e7
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/archive/ITERATION-2-PLAN.md
@@ -0,0 +1,243 @@
+# Iteration 2 Plan — City Readiness Navigator + platform architecture
+
+**Status:** Plan for the next agentic build push · **Owner:** Martin (OEF)
+**Source:** Martin's review of the running Phase 0–3 prototype (12 Jun 2026).
+**Sequencing:** Execute this plan (the "next big push") → *then* build the architecture diagram.
+
+This document interprets every point of the review into concrete decisions and tasks for
+content, logic, design, architecture, and UX. The textual architecture map (§11) seeds the
+diagram we'll render after this push.
+
+---
+
+## 0. Feedback → action map (the whole review at a glance)
+
+| # | Review point | Decision | Section |
+|---|---|---|---|
+| 1 | "I land straight in Valdivia — how did it get here?" | Enter *from* CityCatalyst; show inventory + HIAP provenance | §1 |
+| 2 | "Funders your plan can reach" is a weak, vague title | Rename; reframe as **per-action** funder/instrument relevance via HIAP | §2 |
+| 3 | A plan has many action types (policy→infra); HIAP can map funder/requirements/instrument/→project per action | Drive Discover from HIAP-ranked actions | §2 |
+| 4 | Project Preparator (NBS) already does financial-readiness questionnaire + funder/PPF matching, readiness embedded | **Connect, don't duplicate**: shared readiness engine, two altitudes | §2, §11 |
+| 5 | "Pick a target / pick a path" — target for what? | Rename "Choose the financing instrument"; reframe readiness dependency | §3 |
+| 6 | Only one MDB; space for another template | Keep pluggable profiles; add ≥1 real second-MDB profile | §3 |
+| 7 | Diagnose = same readiness as IDB app? same data? | Yes — extract a **shared** engine package; the scored record flows to IDB | §4, §8 |
+| 8 | "Prepare" vs "Close the gap" — two names, unclear purpose | One name ("Build readiness"); clarify the two failure modes | §5 |
+| 9 | Don't say "bankability"; MDBs want cities able to draw private/commercial finance | Reframe the goal language | §5 |
+| 10 | Comuna names are Chilean cities — make geography explicit (region/country) | Add geography labels + map | §6 |
+| 11 | "The gap becomes the deal" is a cheap marketing title | Rename; frame pooling as **portfolio design** | §6 |
+| 12 | Two reasons a project can't access an instrument: readiness vs ticket size | Make both explicit; pooling solves the ticket-size one | §5, §6 |
+| 13 | "Co-finance" unclear — millions? which projects? | Define units; tie to eligible expenses per instrument | §6, §7 |
+| 14 | What expenses/projects are eligible for the instrument? | New: instrument eligibility panel | §7 |
+| 15 | Funder pipeline should be justagiraffe Intake & Triage; payload too skinny | Wire real connection; define machine-readable **candidate dossier** | §8 |
+| 16 | "M&E & Board" — nobody knows the acronym | Rename "Results & Board Reporting"; expand | §9 |
+| 17 | Marketing-punchline titles throughout | Copy pass; substantive titles | §10 |
+| 18 | The "N" bottom-left | Next.js dev indicator — disable via `devIndicators` | §10 |
+
+---
+
+## 1. Entry & provenance — "what happened before Valdivia landed here"
+
+**Decision.** The Navigator is a **CityCatalyst Journey Navigator module**, entered from a city
+that has already completed *Assess* (GHG inventory) and *Plan* (HIAP). The first screen must
+make that lineage visible, so the funders/actions downstream are clearly *derived from the
+city's own plan*, not conjured.
+
+**Tasks.**
+- Reframe Step 1 from a bare locode record to a **city brief**: GHG inventory summary (top
+ emitting GPC sectors), and the **HIAP-prioritized actions** (ranked, with sector tags).
+- Label provenance on every field (CityCatalyst inventory / HIAP / Global API context).
+- Phase-4 wiring: live `get_city_profile`, `get_inventory_emissions`, HIAP
+ `get_prioritization`. For this push: mock these from realistic Valdivia values, badged.
+
+## 2. Discover — per-action funder relevance (not "funders your plan can reach")
+
+**The critique, restated.** A climate plan spans many action types (policy → infrastructure).
+The useful question is *per action*: which funder is relevant, what are their requirements,
+what instrument fits, and **how do you turn this action into a fundable project**. That last
+step is the **Project Preparator's** job.
+
+**Decision — how this app and the Project Preparator relate (the key architecture call).**
+They are **two altitudes of one flow on a shared readiness engine**:
+
+- **Project Preparator** (CityCatalyst module, NBS-first, extensible): operates at the
+ **project/action** level. Its first line is a **financial-readiness questionnaire**; from it
+ it proposes (a) **project-preparation facilities (PPFs)** to reach readiness and (b) funders
+ that can finance the project. Readiness is embedded *inside* project preparation.
+- **City Readiness Navigator** (this app): operates at the **entity / instrument / portfolio**
+ level — broader funder/instrument set, sub-sovereign access (IDB SFP), and **pooling** across
+ projects/comunas to reach ticket size.
+- **Shared spine:** the **Readiness Engine + pluggable profiles** is one package both consume.
+ The Preparator scores a *project's* readiness for an instrument; the Navigator scores an
+ *entity's / pool's* readiness for an instrument. Same engine, same profile contract.
+
+**Tasks.**
+- Rename the step/title (e.g. **"Match your plan to funders"** or **"Funding options for your
+ plan"**) and reframe the subtitle around *per-action relevance*.
+- Drive Discover from HIAP actions: for each prioritized action show relevant funder(s),
+ their requirement summary, best-fit instrument, and a "prepare as project" affordance that
+ conceptually hands to the Project Preparator.
+- Add an explicit **"Preparator vs. Navigator"** note in code/docs so the boundary is clear.
+- Confirm with the Project Preparator owners: shared engine + the handoff between the two.
+
+## 3. Choose the financing instrument (was "Pick a target / pick a path")
+
+**Decision.** Rename to **"Choose the financing instrument"**. Reframe the readiness premise to:
+
+> *Financial readiness depends on the **type of instrument** the project/initiative needs, the
+> **funder** and their **institutional requirements**, and the **nature of the financial
+> product** they've issued.*
+
+So a **readiness profile** encodes all four — not just "the funder."
+
+**Tasks.**
+- Rename step + rewrite the readiness-dependency copy (above).
+- Extend the profile schema fields to name: project-type fit, instrument class, funder
+ institutional requirements, financial-product nature (tenor, pricing, guarantee structure).
+- Keep pluggable profiles; **add at least one real second MDB** profile (e.g. CAF or World
+ Bank sub-national) so the template slot is a working example, not a placeholder.
+
+## 4. Diagnose — make it literally the record IDB receives
+
+**Decision.** Same engine, same IDB profile as the Control Tower — but stop duplicating it.
+
+**Tasks.**
+- **Extract a shared package** `@oef/readiness` (engine + profiles) imported by BOTH the
+ Navigator and `control-tower` (replace the vendored copy + the control-tower's inline logic).
+ Single source of truth; no drift.
+- The Diagnose output is the **scored candidate record** that travels to IDB (see §8) — so the
+ city's diagnosis *is* IDB's view.
+- Add the explicit "early creditworthiness assessment" framing (IDB's own term) as the headline.
+
+## 5. Build readiness (merge "Prepare" + "Close the gap" into one clear step)
+
+**Decision.** One name — **"Build readiness"** (drop the duplicate "Close the gap"). Its job:
+when the diagnosis says *not ready for this instrument/funder*, show the funded avenues to get
+there.
+
+**Make the two failure modes explicit** (this was muddled):
+1. **Readiness gap** — the entity isn't yet creditworthy/eligible → avenues: PPFs, IDB
+ Subprogram 2 TC, fiscal/governance reforms, audits.
+2. **Ticket-size gap** — the entity *is* ready but its project is **too small** for the
+ instrument's minimum → avenue: **pooling/portfolio** (§6).
+
+**Language.** Avoid "bankability." Frame the goal as *becoming able to access this instrument
+and, over time, to draw private and commercial (incl. local bank) finance* — which is the MDB's
+actual intent for sub-sovereign borrowers.
+
+**Tasks.**
+- Merge/rename the step; show which failure mode applies per candidate.
+- List concrete preparation avenues per gap, sourced from the active profile's `preparation`
+ block (extend it: PPFs, TC types, reforms, expected timeline).
+
+## 6. Portfolio & pooling (was "the gap becomes the deal")
+
+**Decision.** Rename to something substantive — **"Build a financeable portfolio"** or **"Pool
+to reach the ticket size"**. Frame pooling as **portfolio design**: the gap between a single
+project and what the instrument can deliver is closed by combining projects/comunas.
+
+**Tasks.**
+- Rewrite the title + framing (portfolio angle; the two reasons access fails).
+- **Clarify "co-finance".** It is a **0–100 capacity index** (ability to bring matching
+ resources / lead a deal), **not dollars** — label it as such with a tooltip. Distinguish from
+ the **ask (US$M)**.
+- **Geography.** Label region + country everywhere ("Los Ríos region, Chile"); add a small
+ **map of the pool** (the Matching Engine ships `losrios.geojson`) so IDB and the city see the
+ geography. On the IDB side, show candidate geography too.
+- Tie the pool to **eligible project/expense types** for the instrument (§7) so the US$30M ask
+ is legible.
+
+## 7. Instrument eligibility — what it actually funds (new)
+
+**Decision.** Add a panel (in Choose-instrument and Portfolio) showing, per instrument: the
+**eligible project types and expenses**, minimum/maximum ticket, tenor, and co-finance
+expectations. Without this, "co-finance" and "ask" float free.
+
+**Tasks.**
+- Extend the profile with an `eligibleUse` block (project types, expense categories, ticket
+ band, what's explicitly *not* eligible — e.g. IDB SFP excludes short-term/refinancing).
+- Surface it where ask/co-finance appear.
+
+## 8. The handoff — a machine-readable candidate dossier into Intake & Triage
+
+**Decision.** The "funder pipeline" view should **be** justagiraffe's **Intake & Triage** for
+the IDB instrument — a real connection, and the payload should be a single **machine-readable
+candidate dossier**, not the current skinny object.
+
+**Candidate dossier (the one document IDB intakes)** — bundles:
+- **Project plan** (from HIAP / Project Preparator: actions, scope, sector, expected outcomes).
+- **Instrument** chosen + why (eligibility match).
+- **Readiness assessment** + provenance (the scored record, pillar-by-pillar, real vs. estimated).
+- **Due-diligence / documentary checklist** status (legal capacity, audit, non-accrual, ESG).
+- **Financials** (ask, co-finance, pool composition, anchor).
+- Identifiers (locode, cityId) for IDB-side joins.
+
+**Tasks.**
+- Define the dossier JSON schema (versioned).
+- Wire the Navigator's submit to **write the dossier into the Control Tower's Intake data** so
+ it appears in Intake & Triage (replace the standalone in-memory pipeline view, or make that
+ view read the Control Tower's store).
+- Render the dossier on the IDB side as an intake card with the full document expandable.
+
+## 9. Control Tower (IDB side) clarifications
+
+**Decision.** Rename **"M&E & Board"** → **"Results & Board Reporting"** (M&E = Monitoring &
+Evaluation — the pilot's progress vs. targets for IDB's evaluation office, OVE). Expand it so a
+first-time IDB/CIDI user understands it without the acronym.
+
+**Tasks.**
+- Rename the tab + add a one-line plain-language explainer at the top.
+- Add geography (where candidates are) to the IDB side.
+- (Coordinate with Mirco — his latest branch has the updated Results/Board tab; align names and
+ the Intake connection in §8.)
+
+## 10. Cross-cutting: copy & polish
+
+**Decision.** Remove marketing-punchline titles; use substantive, plain titles throughout.
+
+**Tasks.**
+- Title/copy pass (table of renames: "pick a target"→"choose the financing instrument",
+ "the gap becomes the deal"→"build a financeable portfolio", "funders your plan can
+ reach"→"funding options for your plan", "Prepare/Close the gap"→"Build readiness",
+ "M&E & Board"→"Results & Board Reporting").
+- Disable the Next.js dev indicator: `next.config.mjs → devIndicators: false` (or position).
+
+## 11. Architecture map (textual — visual diagram comes after this push)
+
+**Components**
+- **CityCatalyst core** — city profile, GHG **inventory**, **HIAP** (prioritized actions),
+ **Project Preparator** (NBS-first; financial-readiness questionnaire; PPF + funder matching;
+ readiness embedded per project).
+- **Shared Readiness package** (`@oef/readiness`) — the engine + **pluggable profiles**
+ (IDB SFP #1; CAF/WB/GCF). Consumed by Preparator (project altitude) and Navigator (entity/
+ portfolio altitude) and Control Tower (scoring).
+- **City Readiness Navigator** (this app) — entity/instrument/portfolio layer; pooling.
+- **City-Funder Matching Engine** — funders-open per action, capacity (SINIM/FCM), pooling.
+- **justagiraffe Control Tower** — IDB Intake & Triage, Readiness Scoring, Results & Board.
+
+**Connections / contracts**
+- Inventory + HIAP **actions** → Navigator & Preparator (what to fund).
+- Matching Engine **capacity (locode-keyed)** → Readiness pillar inputs.
+- Matching Engine **funders/pools** → Discover + Portfolio.
+- **Shared Readiness package** → identical scoring across all surfaces.
+- **Candidate dossier** (§8) → Control Tower Intake & Triage.
+
+**Open decisions to confirm (before/within the push)**
+- Is the Navigator a *mode of* the Project Preparator family, or a sibling module sharing the
+ engine? (Recommend: sibling modules, shared `@oef/readiness`.)
+- Second real MDB profile to add alongside IDB.
+- Where the shared store lives for the demo (Control Tower data file vs. posted endpoint).
+
+## 12. Workstreams for agentic execution
+
+- **WS-A — Entry & provenance:** §1 (inventory + HIAP brief, provenance badges).
+- **WS-B — Discover reframe + Preparator boundary:** §2 (per-action, naming, shared-engine note).
+- **WS-C — Instrument & profile depth:** §3, §7 (rename, dependency copy, eligibleUse, 2nd MDB).
+- **WS-D — Shared readiness package:** §4 (extract `@oef/readiness`, de-duplicate).
+- **WS-E — Build readiness + portfolio:** §5, §6 (merge/rename, two failure modes, co-finance
+ units, geography + map).
+- **WS-F — Candidate dossier + real Intake connection:** §8 (schema, write into Control Tower).
+- **WS-G — Control Tower naming + geography:** §9 (Results & Board, explainers).
+- **WS-H — Copy/polish:** §10 (titles, dev indicator).
+
+Recommended order: D → A/B/C in parallel → E → F → G/H. (D first because the shared package
+de-risks everything downstream.)
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/ROADMAP.md b/events/2026-06-11-unlock-the-money/justagiraffe/archive/ROADMAP.md
similarity index 97%
rename from events/2026-06-11-unlock-the-money/justagiraffe/ROADMAP.md
rename to events/2026-06-11-unlock-the-money/justagiraffe/archive/ROADMAP.md
index a13da13..9569b2c 100644
--- a/events/2026-06-11-unlock-the-money/justagiraffe/ROADMAP.md
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/archive/ROADMAP.md
@@ -14,7 +14,7 @@ One control room for the IDB Subnational Finance Pilot: **intake** subnational p
A working single-page dashboard over 63 mock candidate SNGs across 8 LAC countries with three connected views — **Intake & Triage** (pipeline kanban), **Readiness Scoring** (transparent weighted model + per-candidate file), and **M&E & Board** (indicators vs. milestone timeline). Ugly-but-real beats a slide.
-> A runnable scaffold already exists in `control-tower/` — open `index.html`. The plan below is about turning that skeleton into a confident 5-minute demo, not starting from zero.
+> A runnable scaffold already exists in `../control-tower/` — open `index.html`. The plan below is about turning that skeleton into a confident 5-minute demo, not starting from zero.
---
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/.gitignore b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/.gitignore
new file mode 100644
index 0000000..6a4a998
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/.gitignore
@@ -0,0 +1,7 @@
+/node_modules
+/.next
+/out
+next-env.d.ts
+*.tsbuildinfo
+.DS_Store
+npm-debug.log*
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/README.md b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/README.md
new file mode 100644
index 0000000..f6aa033
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/README.md
@@ -0,0 +1,66 @@
+# City Readiness Navigator
+
+The **city-facing front door** that joins the two hackday modules into one platform:
+the [City-Funder Matching Engine](../funder-scan) (which funders can my plan reach?) and
+the [justagiraffe Control Tower](../../justagiraffe/control-tower) (the IDB-side pipeline).
+A city builds readiness inside CityCatalyst and, when it presses **Ready**, the deal
+appears on the funder's side of the screen.
+
+Built to the [PRD](../../justagiraffe/PRD-city-facing-readiness-app.md). This is the
+**Phase 0–3** standalone prototype (real data, runs locally); the CityCatalyst module
+embed (OAuth, live city context, HIAP) is Phase 4.
+
+## Run it
+
+```bash
+cd events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator
+npm install
+npm run dev
+# open http://localhost:3000
+```
+
+- **City journey** (`/`) — the 7 steps: enter → discover → pick target → diagnose
+ readiness → prepare → pool → submit.
+- **Funder pipeline** (`/pipeline`) — the IDB side, receiving submitted candidates
+ (stands in for the Control Tower).
+
+> The submission store is in-memory (resets when the dev server restarts).
+
+## What's real vs. mock
+
+- **Real:** the four-pillar readiness for the six Los Ríos comunas is driven by the
+ Matching Engine's **SINIM/FCM** capacity data (`fiscalHealth`, `governance` badged
+ *real*); funders-open counts, the transport gap, and the pool come from its derived
+ CSVs. See [`data/README.md`](data/README.md).
+- **Estimated/intake:** creditworthiness (no public Chilean municipal rating) and legal
+ capacity (a legal opinion, not a dataset) are badged accordingly.
+- **Mock/Phase 4:** live CityCatalyst city-context + HIAP wiring.
+
+## The Valdivia story (real numbers)
+
+Valdivia scores **71 · Ready** and clears creditworthiness — but its transport project
+*alone* is sub-scale (US$8M < US$15M high-impact threshold) and no instrument fits one
+city. Its neighbours aren't ready to borrow alone. **Pooling** unit 11 (Valdivia as
+anchor, US$30M bundle) clears the IDB ticket and is project-eligible — *the gap becomes
+the deal*, and it lands in the IDB pipeline.
+
+## How it's wired
+
+```
+Matching Engine CSVs ──(scripts/build-data.mjs)──▶ src/data/valdivia.json
+ │
+src/lib/readiness/ ◀── vendored from control-tower ──────┤ (the Readiness Engine
+ scoring.js + readiness-profiles.js │ + pluggable profiles)
+ ▼
+ src/app/page.tsx (city journey) ──POST──▶ /api/submissions
+ ▼
+ src/app/pipeline/page.tsx (funder side)
+```
+
+Regenerate the data: `npm run build:data`.
+
+## Stack
+
+Next.js 15 + React 19 + TypeScript, plain CSS (CityCatalyst blue, Poppins/Open Sans).
+Chakra UI is the target for the Phase-4 in-platform module (per the PRD); kept out here
+to keep the prototype dependency-light and reliable.
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/README.md b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/README.md
new file mode 100644
index 0000000..004d86a
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/README.md
@@ -0,0 +1,38 @@
+# Data — source & readiness mapping
+
+## Source (attribution)
+
+`data/source/*.csv` are **trimmed copies** of the City-Funder Matching Engine's
+derived outputs (team: Amanda, Ayinawu, Brian, Cephas; branch `city–funder-matching`),
+scoped to Valdivia and Los Ríos coordination **unit 11**. Underlying capacity data is
+from **SINIM** (municipal fiscal/HR indicators) and **FCM** (transfer dependency),
+keyed by UN/LOCODE.
+
+| File | From | Used for |
+|---|---|---|
+| `comuna_capacity_scores_u11.csv` | `derived/comuna_capacity_scores.csv` | readiness pillar inputs |
+| `coordination_units_u11.csv` | `derived/coordination_units.csv` | the pool (anchor, members, co-finance) |
+| `unit_bundle_candidates_u11.csv` | `derived/unit_bundle_candidates.csv` | the financeable bundle |
+| `valdivia_funders_open.csv` | `derived/valdivia_funders_open.csv` | "funders open to you" (discover) |
+| `valdivia_action_matches.csv` | `derived/valdivia_action_matches.csv` | the transport gap |
+
+`scripts/build-data.mjs` transforms these into `src/data/valdivia.json`.
+
+## Capacity → readiness mapping (transparent)
+
+Per comuna, the four readiness pillars (0–100) are derived as:
+
+| Pillar | Formula | Provenance |
+|---|---|---|
+| **fiscalHealth** | `composite_score` | **real** — SINIM/FCM capacity composite |
+| **governance** | `0.5·professionalization_pct + 0.5·composite_score` | **real** — SINIM |
+| **creditworthiness** | `0.95·composite_score` | **estimated** — proxy; no public Chilean municipal credit rating |
+| **legalCapacity** | anchor → 80, member → 45 | **intake** — stands in for a legal opinion |
+
+Clearance signals (`independentAudit`, `canBorrowWithoutSovereignGuarantee`) are set
+true for the anchor only, for the demo — which is why non-anchor comunas are
+clearance-blocked and the deal must pool. Each pillar is badged in the UI by provenance.
+
+> These mappings are demo heuristics to show the mechanism on real inputs, not a
+> validated creditworthiness model. The point is the *pipe*: real locode-keyed fiscal
+> data flowing into a target-specific readiness score.
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/capag_rs.json b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/capag_rs.json
new file mode 100644
index 0000000..fb3e41a
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/capag_rs.json
@@ -0,0 +1 @@
+[{"cod_ibge": "4300034", "municipio": "Aceguá", "uf": "RS", "capag": "C", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9879102944, "nota2": "C", "ind3_liquidez": 0.1448788757, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1833944617, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300059", "municipio": "Água Santa", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1009936725, "nota1": "A", "ind2_poupanca": 0.8587533986, "nota2": "B", "ind3_liquidez": 0.002008714, "nota3": "B", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.867734843, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300109", "municipio": "Agudo", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.166330074, "nota1": "A", "ind2_poupanca": 0.8624837417, "nota2": "B", "ind3_liquidez": 0.2484808086, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1627690351, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300208", "municipio": "Ajuricaba", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1198891698, "nota1": "A", "ind2_poupanca": 0.9091047133, "nota2": "B", "ind3_liquidez": 0.0379268083, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0707673318, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300307", "municipio": "Alecrim", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0226325836, "nota1": "A", "ind2_poupanca": 0.9959504939, "nota2": "C", "ind3_liquidez": 0.0156990557, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1771772686, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300406", "municipio": "Alegrete", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0549416265, "nota1": "A", "ind2_poupanca": 0.9249252611, "nota2": "B", "ind3_liquidez": 0.0880202604, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0678865763, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300455", "municipio": "Alegria", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0195435381, "nota1": "A", "ind2_poupanca": 0.875041305, "nota2": "B", "ind3_liquidez": 0.1344853102, "nota3": "A", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0148317336, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300471", "municipio": "Almirante Tamandaré do Sul", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0374225905, "nota1": "A", "ind2_poupanca": 0.8220966012, "nota2": "A", "ind3_liquidez": 0.1870046512, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0346018268, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300505", "municipio": "Alpestre", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.7888207976, "nota2": "A", "ind3_liquidez": 0.1671903937, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1017698115, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300554", "municipio": "Alto Alegre", "uf": "RS", "capag": "A", "ind1_endividamento": 0.3649422091, "nota1": "A", "ind2_poupanca": 0.8361488938, "nota2": "A", "ind3_liquidez": 0.110873179, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0049287166, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300570", "municipio": "Alto Feliz", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1599426184, "nota1": "A", "ind2_poupanca": 0.7767240858, "nota2": "A", "ind3_liquidez": 0.0963791913, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2377640314, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300604", "municipio": "Alvorada", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1131442668, "nota1": "A", "ind2_poupanca": 0.8237351266, "nota2": "A", "ind3_liquidez": 0.0860812818, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0171078193, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300638", "municipio": "Amaral Ferrador", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.0572885404, "nota1": "A", "ind2_poupanca": 0.9358778888, "nota2": "B", "ind3_liquidez": 0.0227383392, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1725574085, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300646", "municipio": "Ametista do Sul", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0856992348, "nota1": "A", "ind2_poupanca": 2.9198901524, "nota2": "C", "ind3_liquidez": 0.0962197662, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0290432016, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300661", "municipio": "André da Rocha", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.7644662924, "nota2": "A", "ind3_liquidez": 0.0462899246, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0267615377, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300703", "municipio": "Anta Gorda", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0931063227, "nota1": "A", "ind2_poupanca": 0.8809989074, "nota2": "B", "ind3_liquidez": 0.1044435256, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0533801417, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300802", "municipio": "Antônio Prado", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.13558575, "nota1": "A", "ind2_poupanca": 0.8088124179, "nota2": "A", "ind3_liquidez": 0.097281419, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0183702507, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300851", "municipio": "Arambaré", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0162014447, "nota1": "A", "ind2_poupanca": 0.9028035101, "nota2": "B", "ind3_liquidez": 0.1085041765, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1795940845, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300877", "municipio": "Araricá", "uf": "RS", "capag": "C", "ind1_endividamento": 0.1204680618, "nota1": "A", "ind2_poupanca": 0.9852424372, "nota2": "C", "ind3_liquidez": -0.1480200872, "nota3": "C", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": null, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4300901", "municipio": "Aratiba", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.2356201668, "nota1": "A", "ind2_poupanca": 0.8388194098, "nota2": "A", "ind3_liquidez": 0.0305552817, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0922658984, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301008", "municipio": "Arroio do Meio", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0796802518, "nota1": "A", "ind2_poupanca": 0.953874163, "nota2": "C", "ind3_liquidez": 0.0130553721, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.683277467, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301057", "municipio": "Arroio do Sal", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.0314651164, "nota1": "A", "ind2_poupanca": 0.8605808432, "nota2": "B", "ind3_liquidez": 0.0315221994, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.363743764, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301073", "municipio": "Arroio do Padre", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8609119981, "nota2": "B", "ind3_liquidez": 0.3308554449, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0434881784, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301107", "municipio": "Arroio dos Ratos", "uf": "RS", "capag": "C", "ind1_endividamento": 0.5503212719, "nota1": "A", "ind2_poupanca": 1.0465964811, "nota2": "C", "ind3_liquidez": -0.1081982609, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 70.2033116993, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301206", "municipio": "Arroio do Tigre", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1885861041, "nota1": "A", "ind2_poupanca": 0.89285033, "nota2": "B", "ind3_liquidez": 0.0080655599, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.5323743413, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301305", "municipio": "Arroio Grande", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1529433814, "nota1": "A", "ind2_poupanca": 0.9138953798, "nota2": "B", "ind3_liquidez": 0.0369759347, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3752777002, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301404", "municipio": "Arvorezinha", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.1707586526, "nota1": "A", "ind2_poupanca": 0.8968763055, "nota2": "B", "ind3_liquidez": 0.0014961471, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.8491057335, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301503", "municipio": "Augusto Pestana", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0567790396, "nota1": "A", "ind2_poupanca": 0.8193552527, "nota2": "A", "ind3_liquidez": 0.1962380963, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0528484599, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301552", "municipio": "Áurea", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1574822003, "nota1": "A", "ind2_poupanca": 0.9444552004, "nota2": "B", "ind3_liquidez": 0.023482549, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2572084865, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301602", "municipio": "Bagé", "uf": "RS", "capag": "C", "ind1_endividamento": 0.5138585594, "nota1": "A", "ind2_poupanca": 1.0267367952, "nota2": "C", "ind3_liquidez": -0.3096087209, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 33.4286375773, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301636", "municipio": "Balneário Pinhal", "uf": "RS", "capag": "C", "ind1_endividamento": 0.1797780377, "nota1": "A", "ind2_poupanca": 0.8516726086, "nota2": "B", "ind3_liquidez": -0.0458675898, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": null, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301651", "municipio": "Barão", "uf": "RS", "capag": "A", "ind1_endividamento": 0.3132160251, "nota1": "A", "ind2_poupanca": 0.8399383132, "nota2": "A", "ind3_liquidez": 0.0304341723, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3935403533, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301701", "municipio": "Barão de Cotegipe", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0025186555, "nota1": "A", "ind2_poupanca": 0.8824369421, "nota2": "B", "ind3_liquidez": 0.1202561417, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301750", "municipio": "Barão do Triunfo", "uf": "RS", "capag": "n.d.", "ind1_endividamento": 0.066401927, "nota1": "A", "ind2_poupanca": 0.7821904207, "nota2": "A", "ind3_liquidez": "n.d.", "nota3": "n.d.", "icf": "Cicf", "observacao": "Município declarou a Disponibilidade Bruta de Caixa de Recursos não Vinculados com valor negativo. Verifique a coluna Disponibilidade Bruta de Caixa da rubrica Total dos Recursos Não Vinculados do Anexo V do RGF do 2º Semestre/3º Quadrimestre. \n", "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": "Negativa", "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301800", "municipio": "Barracão", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0937783655, "nota1": "A", "ind2_poupanca": 0.9022106505, "nota2": "B", "ind3_liquidez": 0.0245536912, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2883076244, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301859", "municipio": "Barra do Guarita", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0462753415, "nota1": "A", "ind2_poupanca": 0.844382481, "nota2": "A", "ind3_liquidez": 0.0888573021, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0049313021, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301875", "municipio": "Barra do Quaraí", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1587999659, "nota1": "A", "ind2_poupanca": 0.7738526487, "nota2": "A", "ind3_liquidez": 0.0795024439, "nota3": "A", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4310968761, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301909", "municipio": "Barra do Ribeiro", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0085497451, "nota1": "A", "ind2_poupanca": 0.9274934245, "nota2": "B", "ind3_liquidez": 0.0249506305, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3232190784, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301925", "municipio": "Barra do Rio Azul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0499569455, "nota1": "A", "ind2_poupanca": 0.8230610819, "nota2": "A", "ind3_liquidez": 0.0123427851, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4301958", "municipio": "Barra Funda", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1583978872, "nota1": "A", "ind2_poupanca": 0.8441712007, "nota2": "A", "ind3_liquidez": 0.0643839905, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1774552725, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302006", "municipio": "Barros Cassal", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0465909273, "nota1": "A", "ind2_poupanca": 6.1232716613, "nota2": "C", "ind3_liquidez": -0.1266552604, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": null, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302055", "municipio": "Benjamin Constant do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0791942786, "nota1": "A", "ind2_poupanca": 0.8689770524, "nota2": "B", "ind3_liquidez": 0.1077976103, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302105", "municipio": "Bento Gonçalves", "uf": "RS", "capag": "C", "ind1_endividamento": 0.1321498194, "nota1": "A", "ind2_poupanca": 0.9504742547, "nota2": "C", "ind3_liquidez": -0.0017688861, "nota3": "C", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 1.1364701015, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302154", "municipio": "Boa Vista das Missões", "uf": "RS", "capag": "A", "ind1_endividamento": 0.098358478, "nota1": "A", "ind2_poupanca": 0.790371315, "nota2": "A", "ind3_liquidez": 0.1153517832, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0927270699, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302204", "municipio": "Boa Vista do Buricá", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0835721349, "nota1": "A", "ind2_poupanca": 0.7976941505, "nota2": "A", "ind3_liquidez": 0.1699795004, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0543816584, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302220", "municipio": "Boa Vista do Cadeado", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8698783478, "nota2": "B", "ind3_liquidez": 0.2714718096, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0066124733, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302238", "municipio": "Boa Vista do Incra", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1173237077, "nota1": "A", "ind2_poupanca": 0.8606066338, "nota2": "B", "ind3_liquidez": 0.0991907143, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1558777087, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302253", "municipio": "Boa Vista do Sul", "uf": "RS", "capag": "A+", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.776782746, "nota2": "A", "ind3_liquidez": 0.2442592228, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0192760217, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302303", "municipio": "Bom Jesus", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1478087165, "nota1": "A", "ind2_poupanca": 0.934303407, "nota2": "B", "ind3_liquidez": 0.0151388773, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.448538176, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302352", "municipio": "Bom Princípio", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.4136902684, "nota1": "A", "ind2_poupanca": 0.83934189, "nota2": "A", "ind3_liquidez": 0.0524420512, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0577119755, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302378", "municipio": "Bom Progresso", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0491950357, "nota1": "A", "ind2_poupanca": 0.9603442171, "nota2": "C", "ind3_liquidez": 0.0009507448, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.9774525224, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302402", "municipio": "Bom Retiro do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.2583771321, "nota1": "A", "ind2_poupanca": 0.9279765594, "nota2": "B", "ind3_liquidez": 0.0571205142, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0713051265, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302451", "municipio": "Boqueirão do Leão", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0486678398, "nota1": "A", "ind2_poupanca": 12.063099546, "nota2": "C", "ind3_liquidez": 0, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302501", "municipio": "Bossoroca", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1067338222, "nota1": "A", "ind2_poupanca": 0.8761069617, "nota2": "B", "ind3_liquidez": 0.1257676578, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1491779946, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302584", "municipio": "Bozano", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0061609598, "nota1": "A", "ind2_poupanca": 0.8254023865, "nota2": "A", "ind3_liquidez": 0.2350802735, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0061093787, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302600", "municipio": "Braga", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1251168126, "nota1": "A", "ind2_poupanca": 0.8439829652, "nota2": "A", "ind3_liquidez": 0.1091362082, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0491271617, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302659", "municipio": "Brochier", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0681901884, "nota1": "A", "ind2_poupanca": 0.8854050162, "nota2": "B", "ind3_liquidez": 0.160489212, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0839013628, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302709", "municipio": "Butiá", "uf": "RS", "capag": "C", "ind1_endividamento": 0.2483357445, "nota1": "A", "ind2_poupanca": 0.9714999927, "nota2": "C", "ind3_liquidez": -0.0150599333, "nota3": "C", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 1.8037920798, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302808", "municipio": "Caçapava do Sul", "uf": "RS", "capag": "C", "ind1_endividamento": 0.1991863926, "nota1": "A", "ind2_poupanca": 1.0134604681, "nota2": "C", "ind3_liquidez": -0.434094981, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": null, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4302907", "municipio": "Cacequi", "uf": "RS", "capag": "C", "ind1_endividamento": 0.2672837171, "nota1": "A", "ind2_poupanca": 0.9560469763, "nota2": "C", "ind3_liquidez": 0.0196594787, "nota3": "B", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4021137658, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4303004", "municipio": "Cachoeira do Sul", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.2228746635, "nota1": "A", "ind2_poupanca": 0.8993686922, "nota2": "B", "ind3_liquidez": 0.0597879552, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4400494344, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4303103", "municipio": "Cachoeirinha", "uf": "RS", "capag": "A", "ind1_endividamento": 0.4889720781, "nota1": "A", "ind2_poupanca": 0.7958284966, "nota2": "A", "ind3_liquidez": 0.0271074181, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1594884598, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4303202", "municipio": "Cacique Doble", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0889505649, "nota1": "A", "ind2_poupanca": 0.8948999336, "nota2": "B", "ind3_liquidez": 0.0539019049, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4303301", "municipio": "Caibaté", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0187181153, "nota1": "A", "ind2_poupanca": 0.9524753092, "nota2": "C", "ind3_liquidez": 0.4496977203, "nota3": "A", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4303400", "municipio": "Caiçara", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0470195146, "nota1": "A", "ind2_poupanca": 0.8679881706, "nota2": "B", "ind3_liquidez": 0.0214299392, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4230274803, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4303509", "municipio": "Camaquã", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0723313463, "nota1": "A", "ind2_poupanca": 0.8810607635, "nota2": "B", "ind3_liquidez": 0.0764824381, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0950191232, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4303558", "municipio": "Camargo", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1046874867, "nota1": "A", "ind2_poupanca": 0.8831756694, "nota2": "B", "ind3_liquidez": 0.0846266492, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0466150455, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4303608", "municipio": "Cambará do Sul", "uf": "RS", "capag": "C", "ind1_endividamento": 0.5480175946, "nota1": "A", "ind2_poupanca": 0.7949502902, "nota2": "A", "ind3_liquidez": -0.0704986883, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 50.9980426602, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4303673", "municipio": "Campestre da Serra", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1391564963, "nota1": "A", "ind2_poupanca": 0.8752610378, "nota2": "B", "ind3_liquidez": 0.143621275, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0400971266, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4303707", "municipio": "Campina das Missões", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0247607572, "nota1": "A", "ind2_poupanca": 0.9327933934, "nota2": "B", "ind3_liquidez": 0.0699459201, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.075657741, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4303806", "municipio": "Campinas do Sul", "uf": "RS", "capag": "B", "ind1_endividamento": 0.000820322, "nota1": "A", "ind2_poupanca": 0.9264399745, "nota2": "B", "ind3_liquidez": 0.0276836749, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4303905", "municipio": "Campo Bom", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1310628544, "nota1": "A", "ind2_poupanca": 0.880614413, "nota2": "B", "ind3_liquidez": 0.0003080298, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304002", "municipio": "Campo Novo", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0973360665, "nota1": "A", "ind2_poupanca": 0.8833957283, "nota2": "B", "ind3_liquidez": 0.1646509156, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0745320632, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304101", "municipio": "Campos Borges", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0766815092, "nota1": "A", "ind2_poupanca": 0.7770705424, "nota2": "A", "ind3_liquidez": 0.1218947289, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0076316162, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304200", "municipio": "Candelária", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1211451947, "nota1": "A", "ind2_poupanca": 0.8929778647, "nota2": "B", "ind3_liquidez": 0.0142164263, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1475781051, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304309", "municipio": "Cândido Godói", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0532859685, "nota1": "A", "ind2_poupanca": 0.8587067363, "nota2": "B", "ind3_liquidez": 0.5766740126, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0924893214, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304358", "municipio": "Candiota", "uf": "RS", "capag": "n.d.", "ind1_endividamento": 0.1032595704, "nota1": "A", "ind2_poupanca": 0.9216480902, "nota2": "B", "ind3_liquidez": "n.d.", "nota3": "n.d.", "icf": "Cicf", "observacao": "Município declarou Obrigações Financeiras com valores negativos. Verifique as colunas Restos a Pagar Liquidados e Não Pagos de Exercícios Anteriores, Restos a Pagar Liquidados e Não Pagos do Exercício, Restos a Pagar Empenhados de Exercícios Anteriores e Demais Obrigações Financeiras da rubrica Total dos Recursos Não Vinculados extraídas do Anexo V do RGF.\n", "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": "Sim", "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304408", "municipio": "Canela", "uf": "RS", "capag": "C", "ind1_endividamento": 0.306641946, "nota1": "A", "ind2_poupanca": 0.9221066318, "nota2": "B", "ind3_liquidez": -0.0052396495, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 1.2243435119, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304507", "municipio": "Canguçu", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0581051873, "nota1": "A", "ind2_poupanca": 0.8623882949, "nota2": "B", "ind3_liquidez": 0.1182028544, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0990460188, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304606", "municipio": "Canoas", "uf": "RS", "capag": "C", "ind1_endividamento": 0.1932645582, "nota1": "A", "ind2_poupanca": 0.9855266178, "nota2": "C", "ind3_liquidez": -0.0234503149, "nota3": "C", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 2.4869894865, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304614", "municipio": "Canudos do Vale", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.76536381, "nota2": "A", "ind3_liquidez": 0.1753071062, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0415352454, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304622", "municipio": "Capão Bonito do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0313323732, "nota1": "A", "ind2_poupanca": 0.8261579165, "nota2": "A", "ind3_liquidez": 0.0619733865, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0328502545, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304630", "municipio": "Capão da Canoa", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1468531143, "nota1": "A", "ind2_poupanca": 0.8342794703, "nota2": "A", "ind3_liquidez": 0.0810731327, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0971868669, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304655", "municipio": "Capão do Cipó", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0391946308, "nota1": "A", "ind2_poupanca": 0.8729901317, "nota2": "B", "ind3_liquidez": 0.0165239381, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4532173763, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304663", "municipio": "Capão do Leão", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0555677182, "nota1": "A", "ind2_poupanca": 0.9502496107, "nota2": "C", "ind3_liquidez": 0.0233128847, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.7276035095, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304671", "municipio": "Capivari do Sul", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1001526031, "nota1": "A", "ind2_poupanca": 0.8455212122, "nota2": "A", "ind3_liquidez": 0.2966918829, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0555065077, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304689", "municipio": "Capela de Santana", "uf": "RS", "capag": "C", "ind1_endividamento": 0.2606195797, "nota1": "A", "ind2_poupanca": 0.7904335349, "nota2": "A", "ind3_liquidez": -0.0339881744, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": null, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304697", "municipio": "Capitão", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0674834133, "nota1": "A", "ind2_poupanca": 0.8343447214, "nota2": "A", "ind3_liquidez": 0.1741672711, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0959250504, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304705", "municipio": "Carazinho", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0319721367, "nota1": "A", "ind2_poupanca": 0.8812993066, "nota2": "B", "ind3_liquidez": 0.0774666552, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1542815845, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304713", "municipio": "Caraá", "uf": "RS", "capag": "C", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8122714892, "nota2": "A", "ind3_liquidez": -0.031045465, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": null, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304804", "municipio": "Carlos Barbosa", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0843448052, "nota1": "A", "ind2_poupanca": 0.8144381295, "nota2": "A", "ind3_liquidez": 0.3225759783, "nota3": "A", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0543862387, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304853", "municipio": "Carlos Gomes", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9077069494, "nota2": "B", "ind3_liquidez": 0.0552208324, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0356119808, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304903", "municipio": "Casca", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1691218123, "nota1": "A", "ind2_poupanca": 0.8530820703, "nota2": "B", "ind3_liquidez": 0.1747446688, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0151306771, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4304952", "municipio": "Caseiros", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0552558888, "nota1": "A", "ind2_poupanca": 0.8292648222, "nota2": "A", "ind3_liquidez": 0.0246349114, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1737115781, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305009", "municipio": "Catuípe", "uf": "RS", "capag": "B", "ind1_endividamento": 0.083224731, "nota1": "A", "ind2_poupanca": 0.8910158407, "nota2": "B", "ind3_liquidez": 0.0010020904, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305108", "municipio": "Caxias do Sul", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.3173454315, "nota1": "A", "ind2_poupanca": 0.912692173, "nota2": "B", "ind3_liquidez": 0.2290188854, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0939080571, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305116", "municipio": "Centenário", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1105650007, "nota1": "A", "ind2_poupanca": 0.9275581189, "nota2": "B", "ind3_liquidez": 0.139867042, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305124", "municipio": "Cerrito", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.1771441035, "nota1": "A", "ind2_poupanca": 0.9051290078, "nota2": "B", "ind3_liquidez": 0.0342777296, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.5100711908, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305132", "municipio": "Cerro Branco", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1243446235, "nota1": "A", "ind2_poupanca": 0.8165775427, "nota2": "A", "ind3_liquidez": 0.0632033802, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2601017038, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305157", "municipio": "Cerro Grande", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0836448767, "nota1": "A", "ind2_poupanca": 0.8629385792, "nota2": "B", "ind3_liquidez": 0.0022066807, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4308302497, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305173", "municipio": "Cerro Grande do Sul", "uf": "RS", "capag": "C", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8953153255, "nota2": "B", "ind3_liquidez": -0.0134410911, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 1.9153779757, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305207", "municipio": "Cerro Largo", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0638514441, "nota1": "A", "ind2_poupanca": 0.8507313187, "nota2": "B", "ind3_liquidez": 0, "nota3": "C", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305306", "municipio": "Chapada", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1216039561, "nota1": "A", "ind2_poupanca": 0.8745727771, "nota2": "B", "ind3_liquidez": 0.081947321, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.042186985, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305355", "municipio": "Charqueadas", "uf": "RS", "capag": "n.d.", "ind1_endividamento": 0.5490084404, "nota1": "A", "ind2_poupanca": 0.8182431303, "nota2": "A", "ind3_liquidez": "n.d.", "nota3": "n.d.", "icf": "Bicf", "observacao": "Município declarou Obrigações Financeiras com valores negativos. Verifique as colunas Restos a Pagar Liquidados e Não Pagos de Exercícios Anteriores, Restos a Pagar Liquidados e Não Pagos do Exercício, Restos a Pagar Empenhados de Exercícios Anteriores e Demais Obrigações Financeiras da rubrica Total dos Recursos Não Vinculados extraídas do Anexo V do RGF.\n", "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": "Sim", "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305371", "municipio": "Charrua", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0316672874, "nota1": "A", "ind2_poupanca": 0.8369546072, "nota2": "A", "ind3_liquidez": 0.0788207281, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0387979069, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305405", "municipio": "Chiapetta", "uf": "RS", "capag": "B", "ind1_endividamento": 0.026667841, "nota1": "A", "ind2_poupanca": 0.9137447307, "nota2": "B", "ind3_liquidez": 0.0176149424, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4473177826, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305439", "municipio": "Chuí", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0685011081, "nota1": "A", "ind2_poupanca": 0.9673531368, "nota2": "C", "ind3_liquidez": 0.0290581681, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1633632394, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305447", "municipio": "Chuvisca", "uf": "RS", "capag": "A", "ind1_endividamento": 0.027349385, "nota1": "A", "ind2_poupanca": 0.9399187804, "nota2": "B", "ind3_liquidez": 0.0767760094, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1906120116, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305454", "municipio": "Cidreira", "uf": "RS", "capag": "C", "ind1_endividamento": 0.3136091141, "nota1": "A", "ind2_poupanca": 1.36618179, "nota2": "C", "ind3_liquidez": 0.0311521728, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3592098505, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305504", "municipio": "Ciríaco", "uf": "RS", "capag": "B", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.937895771, "nota2": "B", "ind3_liquidez": 0.0258988016, "nota3": "B", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1243672283, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305587", "municipio": "Colinas", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0305961607, "nota1": "A", "ind2_poupanca": 0.8377364528, "nota2": "A", "ind3_liquidez": 0.1233113388, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1659769589, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305603", "municipio": "Colorado", "uf": "RS", "capag": "B", "ind1_endividamento": 0.2442043536, "nota1": "A", "ind2_poupanca": 0.9070882007, "nota2": "B", "ind3_liquidez": 0.0057711172, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.7804666576, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305702", "municipio": "Condor", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.2545878726, "nota1": "A", "ind2_poupanca": 0.897543614, "nota2": "B", "ind3_liquidez": 0.0014625101, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.9543383931, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305801", "municipio": "Constantina", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0658774464, "nota1": "A", "ind2_poupanca": 0.8722346263, "nota2": "B", "ind3_liquidez": 0.0809497853, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0536399559, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305835", "municipio": "Coqueiro Baixo", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0273887315, "nota1": "A", "ind2_poupanca": 0.8693204015, "nota2": "B", "ind3_liquidez": 0.1284345642, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0013379487, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305850", "municipio": "Coqueiros do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.2403663058, "nota1": "A", "ind2_poupanca": 0.7960334465, "nota2": "A", "ind3_liquidez": 0.0186231001, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4595670599, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305871", "municipio": "Coronel Barros", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1363450199, "nota1": "A", "ind2_poupanca": 0.8115210426, "nota2": "A", "ind3_liquidez": 0.0243959841, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2430114016, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305900", "municipio": "Coronel Bicaco", "uf": "RS", "capag": "C", "ind1_endividamento": 0.1646896844, "nota1": "A", "ind2_poupanca": 0.8748050318, "nota2": "B", "ind3_liquidez": -0.0356270418, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 9.7103809304, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305934", "municipio": "Coronel Pilar", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.7998951416, "nota2": "A", "ind3_liquidez": 0.3443302633, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0011246413, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305959", "municipio": "Cotiporã", "uf": "RS", "capag": "A", "ind1_endividamento": 0.053699638, "nota1": "A", "ind2_poupanca": 0.8234050825, "nota2": "A", "ind3_liquidez": 0.1545496833, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2172969286, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4305975", "municipio": "Coxilha", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1314696097, "nota1": "A", "ind2_poupanca": 0.90775238, "nota2": "B", "ind3_liquidez": 0.1272653404, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0007521542, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306007", "municipio": "Crissiumal", "uf": "RS", "capag": "A+", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8151491933, "nota2": "A", "ind3_liquidez": 0.2285651043, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0394325324, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306056", "municipio": "Cristal", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.0570828238, "nota1": "A", "ind2_poupanca": 0.9080457779, "nota2": "B", "ind3_liquidez": 0.0334575205, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1001143174, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306072", "municipio": "Cristal do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0031163681, "nota1": "A", "ind2_poupanca": 0.8750942715, "nota2": "B", "ind3_liquidez": 0.1058910049, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1368056056, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306106", "municipio": "Cruz Alta", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.4057616408, "nota1": "A", "ind2_poupanca": 0.9225971593, "nota2": "B", "ind3_liquidez": 0.0210544908, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4438377899, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306130", "municipio": "Cruzaltense", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0600015166, "nota1": "A", "ind2_poupanca": 0.8290761634, "nota2": "A", "ind3_liquidez": 0.0502977244, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0161799857, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306205", "municipio": "Cruzeiro do Sul", "uf": "RS", "capag": "B", "ind1_endividamento": 0.2679213347, "nota1": "A", "ind2_poupanca": 0.933935974, "nota2": "B", "ind3_liquidez": 0.0379657445, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0492830913, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306304", "municipio": "David Canabarro", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.1034977176, "nota1": "A", "ind2_poupanca": 0.930654028, "nota2": "B", "ind3_liquidez": 0.0305498541, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.078799842, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306320", "municipio": "Derrubadas", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1206242964, "nota1": "A", "ind2_poupanca": 0.8682881898, "nota2": "B", "ind3_liquidez": 0.1703145127, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0165624299, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306353", "municipio": "Dezesseis de Novembro", "uf": "RS", "capag": "n.e.", "ind1_endividamento": "n.d.", "nota1": "n.d.", "ind2_poupanca": 0.9019048665, "nota2": "B", "ind3_liquidez": "n.d.", "nota3": "n.d.", "icf": "Eicf", "observacao": "Ente possui ranking da informação contábil Eicf", "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": null, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Não", "publicou_rreo": "Não"}, {"cod_ibge": "4306379", "municipio": "Dilermando de Aguiar", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0339928947, "nota1": "A", "ind2_poupanca": 0.8276648802, "nota2": "A", "ind3_liquidez": 0.0918055764, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0086751568, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306403", "municipio": "Dois Irmãos", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0552708272, "nota1": "A", "ind2_poupanca": 0.8289214154, "nota2": "A", "ind3_liquidez": 0.1323831749, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0560953467, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306429", "municipio": "Dois Irmãos das Missões", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0050456004, "nota1": "A", "ind2_poupanca": 0.8866632282, "nota2": "B", "ind3_liquidez": 0.0836804074, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0394035766, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306452", "municipio": "Dois Lajeados", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8361753202, "nota2": "A", "ind3_liquidez": 0.0932474407, "nota3": "A", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0129592163, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306502", "municipio": "Dom Feliciano", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0323689187, "nota1": "A", "ind2_poupanca": 0.9578469775, "nota2": "C", "ind3_liquidez": 0.0403514773, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0311804163, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306551", "municipio": "Dom Pedro de Alcântara", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.2159779529, "nota1": "A", "ind2_poupanca": 0.7942190787, "nota2": "A", "ind3_liquidez": 0.0901605975, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0892942682, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306601", "municipio": "Dom Pedrito", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1192038385, "nota1": "A", "ind2_poupanca": 0.8574597704, "nota2": "B", "ind3_liquidez": 0.1219860904, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1233078467, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306700", "municipio": "Dona Francisca", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1010174735, "nota1": "A", "ind2_poupanca": 0.8652882543, "nota2": "B", "ind3_liquidez": 0.0761955187, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.252156423, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306734", "municipio": "Doutor Maurício Cardoso", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0848514503, "nota1": "A", "ind2_poupanca": 0.7341442516, "nota2": "A", "ind3_liquidez": 0.1039897875, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0109075782, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306759", "municipio": "Doutor Ricardo", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0893578488, "nota1": "A", "ind2_poupanca": 0.9172286643, "nota2": "B", "ind3_liquidez": -0.0151315899, "nota3": "C", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 1.9515763566, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306767", "municipio": "Eldorado do Sul", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.025667767, "nota1": "A", "ind2_poupanca": 0.9323031199, "nota2": "B", "ind3_liquidez": 0.0604838899, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3235209862, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306809", "municipio": "Encantado", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1014110077, "nota1": "A", "ind2_poupanca": 0.8796452365, "nota2": "B", "ind3_liquidez": 0.0495469264, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1050428559, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306908", "municipio": "Encruzilhada do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.2323066743, "nota1": "A", "ind2_poupanca": 0.8682689989, "nota2": "B", "ind3_liquidez": 0.1431771058, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0892497438, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306924", "municipio": "Engenho Velho", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.7669051332, "nota2": "A", "ind3_liquidez": 0.0478286434, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0517010465, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306932", "municipio": "Entre-Ijuís", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.0627057892, "nota1": "A", "ind2_poupanca": 0.9201917053, "nota2": "B", "ind3_liquidez": 0.0294068527, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4883210226, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306957", "municipio": "Entre Rios do Sul", "uf": "RS", "capag": "C", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8960864397, "nota2": "B", "ind3_liquidez": 0, "nota3": "C", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4306973", "municipio": "Erebango", "uf": "RS", "capag": "n.e.", "ind1_endividamento": "n.d.", "nota1": "n.d.", "ind2_poupanca": 0.8376291756, "nota2": "A", "ind3_liquidez": "n.d.", "nota3": "n.d.", "icf": "Eicf", "observacao": "Ente possui ranking da informação contábil Eicf", "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": null, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Não", "publicou_rreo": "Não"}, {"cod_ibge": "4307005", "municipio": "Erechim", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.022346258, "nota1": "A", "ind2_poupanca": 0.8429275005, "nota2": "A", "ind3_liquidez": 0.0586500979, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2710040269, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4307054", "municipio": "Ernestina", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0670744305, "nota1": "A", "ind2_poupanca": 0.8809071219, "nota2": "B", "ind3_liquidez": 0.0750167715, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4307104", "municipio": "Herval", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0040680789, "nota1": "A", "ind2_poupanca": 0.8452449071, "nota2": "A", "ind3_liquidez": 0.1664130484, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1187232111, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4307203", "municipio": "Erval Grande", "uf": "RS", "capag": "C", "ind1_endividamento": 0.086778956, "nota1": "A", "ind2_poupanca": 0.9553119873, "nota2": "C", "ind3_liquidez": 0.0067951857, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.6824641614, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4307302", "municipio": "Erval Seco", "uf": "RS", "capag": "C", "ind1_endividamento": 0.1028678363, "nota1": "A", "ind2_poupanca": 0.9371350522, "nota2": "B", "ind3_liquidez": -0.0333867918, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 14.7477754193, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4307401", "municipio": "Esmeralda", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0250271589, "nota1": "A", "ind2_poupanca": 0.9288267723, "nota2": "B", "ind3_liquidez": 0.0122431076, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4211448034, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4307450", "municipio": "Esperança do Sul", "uf": "RS", "capag": "n.d.", "ind1_endividamento": 0.0007723732, "nota1": "A", "ind2_poupanca": "n.d.", "nota2": "n.d.", "ind3_liquidez": 0.1623074252, "nota3": "A", "icf": "Cicf", "observacao": "Município declarou Deduções de Receitas Correntes com valores negativos. Verifique as colunas Deduções - Transferências Constitucionais, Deduções - Fundeb e Outras Deduções da Receita na rubrica Receitas Correntes extraídas do Anexo I-C da DCA.\n", "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0722892306, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": "Sim", "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4307500", "municipio": "Espumoso", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1454479142, "nota1": "A", "ind2_poupanca": 0.8855164709, "nota2": "B", "ind3_liquidez": 0.0155209737, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.151513276, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4307559", "municipio": "Estação", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0859607675, "nota1": "A", "ind2_poupanca": 0.9030317953, "nota2": "B", "ind3_liquidez": 0.0223410173, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4307609", "municipio": "Estância Velha", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0560414252, "nota1": "A", "ind2_poupanca": 0.9305603031, "nota2": "B", "ind3_liquidez": 0.0129631629, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4006508586, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4307708", "municipio": "Esteio", "uf": "RS", "capag": "C", "ind1_endividamento": 0.1300988514, "nota1": "A", "ind2_poupanca": 0.9052487175, "nota2": "B", "ind3_liquidez": -0.0233102275, "nota3": "C", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 2.2471160682, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4307807", "municipio": "Estrela", "uf": "RS", "capag": "A", "ind1_endividamento": 0.2060362092, "nota1": "A", "ind2_poupanca": 0.9166963428, "nota2": "B", "ind3_liquidez": 0.0508755257, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3258830103, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4307815", "municipio": "Estrela Velha", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0417665756, "nota1": "A", "ind2_poupanca": 0.7578587705, "nota2": "A", "ind3_liquidez": 0.14789791, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0639581952, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4307831", "municipio": "Eugênio de Castro", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0840478959, "nota1": "A", "ind2_poupanca": 0.7877214955, "nota2": "A", "ind3_liquidez": 0.08194747, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0973724633, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4307864", "municipio": "Fagundes Varela", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0723783128, "nota1": "A", "ind2_poupanca": 0.7779730576, "nota2": "A", "ind3_liquidez": 0.1056261198, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0771407314, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4307906", "municipio": "Farroupilha", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1448531727, "nota1": "A", "ind2_poupanca": 0.9172465178, "nota2": "B", "ind3_liquidez": 0.0836937387, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2459685012, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308003", "municipio": "Faxinal do Soturno", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0556158463, "nota1": "A", "ind2_poupanca": 0.8677720191, "nota2": "B", "ind3_liquidez": 0.0642218141, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0308247742, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308052", "municipio": "Faxinalzinho", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0722034474, "nota1": "A", "ind2_poupanca": 0.8587765641, "nota2": "B", "ind3_liquidez": -0.0990379738, "nota3": "C", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": null, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308078", "municipio": "Fazenda Vilanova", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1274878795, "nota1": "A", "ind2_poupanca": 0.8367941655, "nota2": "A", "ind3_liquidez": 0.0832095756, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2190750308, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308102", "municipio": "Feliz", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.2355435262, "nota1": "A", "ind2_poupanca": 0.7898484196, "nota2": "A", "ind3_liquidez": 0.1460654916, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0544643072, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308201", "municipio": "Flores da Cunha", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0196785126, "nota1": "A", "ind2_poupanca": 0.7845366127, "nota2": "A", "ind3_liquidez": 0.2088128944, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0452807311, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308250", "municipio": "Floriano Peixoto", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0205392477, "nota1": "A", "ind2_poupanca": 0.7901960608, "nota2": "A", "ind3_liquidez": 0.0890718996, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0087338373, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308300", "municipio": "Fontoura Xavier", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1515126423, "nota1": "A", "ind2_poupanca": 0.8808355361, "nota2": "B", "ind3_liquidez": 0.0062342557, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0272943573, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308409", "municipio": "Formigueiro", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0621799874, "nota1": "A", "ind2_poupanca": 0.8698286042, "nota2": "B", "ind3_liquidez": 0.0564446293, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1280659458, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308433", "municipio": "Forquetinha", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.7649272241, "nota2": "A", "ind3_liquidez": 0.3340216522, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0469820126, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308458", "municipio": "Fortaleza dos Valos", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1021468967, "nota1": "A", "ind2_poupanca": 0.8376426114, "nota2": "A", "ind3_liquidez": 0.081646271, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0040936385, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308508", "municipio": "Frederico Westphalen", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0889423483, "nota1": "A", "ind2_poupanca": 0.8573088198, "nota2": "B", "ind3_liquidez": 0.0205839513, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3951198327, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308607", "municipio": "Garibaldi", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1094953071, "nota1": "A", "ind2_poupanca": 0.8826149901, "nota2": "B", "ind3_liquidez": 0.3031002739, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1707975516, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308656", "municipio": "Garruchos", "uf": "RS", "capag": "A+", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8205272487, "nota2": "A", "ind3_liquidez": 0.0871335512, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2252568436, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308706", "municipio": "Gaurama", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8460697603, "nota2": "A", "ind3_liquidez": 0.0847338548, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1287872109, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308805", "municipio": "General Câmara", "uf": "RS", "capag": "C", "ind1_endividamento": 0.2006032866, "nota1": "A", "ind2_poupanca": 6.3493703583, "nota2": "C", "ind3_liquidez": 0.0001836989, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0002199106, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308854", "municipio": "Gentil", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1099601749, "nota1": "A", "ind2_poupanca": 0.9105106305, "nota2": "B", "ind3_liquidez": 0.0088105103, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.5428643955, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4308904", "municipio": "Getúlio Vargas", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1063855244, "nota1": "A", "ind2_poupanca": 0.838442806, "nota2": "A", "ind3_liquidez": 0.0058104355, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.006881988, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309001", "municipio": "Giruá", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0578758862, "nota1": "A", "ind2_poupanca": 0.9193486384, "nota2": "B", "ind3_liquidez": 0.0868829317, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1238138222, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309050", "municipio": "Glorinha", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0719134327, "nota1": "A", "ind2_poupanca": 0.9739857511, "nota2": "C", "ind3_liquidez": 0.0490653304, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2441620205, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309100", "municipio": "Gramado", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0297178012, "nota1": "A", "ind2_poupanca": 0.8605407757, "nota2": "B", "ind3_liquidez": 0.0406370694, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1319579345, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309126", "municipio": "Gramado dos Loureiros", "uf": "RS", "capag": "B", "ind1_endividamento": 0.2332230918, "nota1": "A", "ind2_poupanca": 0.8615761096, "nota2": "B", "ind3_liquidez": 0.0185597184, "nota3": "B", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1193128111, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309159", "municipio": "Gramado Xavier", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.1307993228, "nota1": "A", "ind2_poupanca": 0.857736592, "nota2": "B", "ind3_liquidez": 0.0499849241, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3192890929, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309209", "municipio": "Gravataí", "uf": "RS", "capag": "C", "ind1_endividamento": 0.6615000844, "nota1": "B", "ind2_poupanca": 0.9374228942, "nota2": "B", "ind3_liquidez": -0.0402919781, "nota3": "C", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 23.8910566434, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309258", "municipio": "Guabiju", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.7954834485, "nota2": "A", "ind3_liquidez": 0.1836017928, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1161470318, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309308", "municipio": "Guaíba", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1036183074, "nota1": "A", "ind2_poupanca": 0.886973591, "nota2": "B", "ind3_liquidez": 0.1681585723, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.040692946, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309407", "municipio": "Guaporé", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0865512189, "nota1": "A", "ind2_poupanca": 0.8798525431, "nota2": "B", "ind3_liquidez": 0.0945022267, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2983271902, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309506", "municipio": "Guarani das Missões", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1580636323, "nota1": "A", "ind2_poupanca": 0.940378085, "nota2": "B", "ind3_liquidez": 0.019771033, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.6482754083, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309555", "municipio": "Harmonia", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1847234325, "nota1": "A", "ind2_poupanca": 0.7686646398, "nota2": "A", "ind3_liquidez": 0.2133199352, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0067624521, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309571", "municipio": "Herveiras", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9070939355, "nota2": "B", "ind3_liquidez": 0.0929561547, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0455939512, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309605", "municipio": "Horizontina", "uf": "RS", "capag": "A", "ind1_endividamento": 0.2875716172, "nota1": "A", "ind2_poupanca": 0.7941743701, "nota2": "A", "ind3_liquidez": 0.1564422568, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0323205029, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309654", "municipio": "Hulha Negra", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0050968307, "nota1": "A", "ind2_poupanca": 0.8962056382, "nota2": "B", "ind3_liquidez": 0.1187123701, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.131274006, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309704", "municipio": "Humaitá", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0648260175, "nota1": "A", "ind2_poupanca": 0.867451672, "nota2": "B", "ind3_liquidez": 0.0385329155, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4847175042, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309753", "municipio": "Ibarama", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8753217073, "nota2": "B", "ind3_liquidez": 0.0832320396, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.009102227, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309803", "municipio": "Ibiaçá", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0160977536, "nota1": "A", "ind2_poupanca": 10.6673759633, "nota2": "C", "ind3_liquidez": 0.0712211189, "nota3": "A", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0235240647, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309902", "municipio": "Ibiraiaras", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1693075766, "nota1": "A", "ind2_poupanca": 0.8316658273, "nota2": "A", "ind3_liquidez": 0.0368406497, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2875352732, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4309951", "municipio": "Ibirapuitã", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0622165132, "nota1": "A", "ind2_poupanca": 0.9377796444, "nota2": "B", "ind3_liquidez": 0.0300585363, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1365406761, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310009", "municipio": "Ibirubá", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.0674064685, "nota1": "A", "ind2_poupanca": 0.8807921035, "nota2": "B", "ind3_liquidez": 0.0162135342, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.5059606706, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310108", "municipio": "Igrejinha", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0854831594, "nota1": "A", "ind2_poupanca": 0.8745278197, "nota2": "B", "ind3_liquidez": 0.0024747997, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.8698322105, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310207", "municipio": "Ijuí", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.0912778698, "nota1": "A", "ind2_poupanca": 0.9021661056, "nota2": "B", "ind3_liquidez": 0.0490152768, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2873404008, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310306", "municipio": "Ilópolis", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1424789144, "nota1": "A", "ind2_poupanca": 0.8101247108, "nota2": "A", "ind3_liquidez": 0.038349621, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2070394432, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310330", "municipio": "Imbé", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.3795105183, "nota1": "A", "ind2_poupanca": 0.8521569893, "nota2": "B", "ind3_liquidez": 0.0358640668, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3602445427, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310363", "municipio": "Imigrante", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1116583147, "nota1": "A", "ind2_poupanca": 0.8261238033, "nota2": "A", "ind3_liquidez": 0.1496433997, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.015765381, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310405", "municipio": "Independência", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0446496036, "nota1": "A", "ind2_poupanca": 0.8593232429, "nota2": "B", "ind3_liquidez": 0.0831335223, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0027290834, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310413", "municipio": "Inhacorá", "uf": "RS", "capag": "B", "ind1_endividamento": 0.088380897, "nota1": "A", "ind2_poupanca": 0.9477964542, "nota2": "B", "ind3_liquidez": 0.0048235613, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.554700845, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310439", "municipio": "Ipê", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0734044095, "nota1": "A", "ind2_poupanca": 0.799083432, "nota2": "A", "ind3_liquidez": 0.1545321806, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0971112209, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310462", "municipio": "Ipiranga do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 8.7925e-05, "nota1": "A", "ind2_poupanca": 0.8860433718, "nota2": "B", "ind3_liquidez": 0.095381043, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0079855674, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310504", "municipio": "Iraí", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0541285939, "nota1": "A", "ind2_poupanca": 0.9155848497, "nota2": "B", "ind3_liquidez": 0.0714356722, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1080661941, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310538", "municipio": "Itaara", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0016966943, "nota1": "A", "ind2_poupanca": 0.707288316, "nota2": "A", "ind3_liquidez": 0.3418778256, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0331386526, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310553", "municipio": "Itacurubi", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0492565072, "nota1": "A", "ind2_poupanca": 0.8909927437, "nota2": "B", "ind3_liquidez": 0.1169580871, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0723373402, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310579", "municipio": "Itapuca", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0729300312, "nota1": "A", "ind2_poupanca": 0.8287962001, "nota2": "A", "ind3_liquidez": 0.1477763711, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0311799358, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310603", "municipio": "Itaqui", "uf": "RS", "capag": "A", "ind1_endividamento": 0.4252141472, "nota1": "A", "ind2_poupanca": 0.8457582933, "nota2": "A", "ind3_liquidez": 0.0756422643, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1078723817, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310652", "municipio": "Itati", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1031311936, "nota1": "A", "ind2_poupanca": 0.9112196101, "nota2": "B", "ind3_liquidez": 0.0446218122, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.464705923, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310702", "municipio": "Itatiba do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0345719091, "nota1": "A", "ind2_poupanca": 0.8935184071, "nota2": "B", "ind3_liquidez": 0.0849837291, "nota3": "A", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0076937207, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310751", "municipio": "Ivorá", "uf": "RS", "capag": "n.d.", "ind1_endividamento": 0.0073594623, "nota1": "A", "ind2_poupanca": "n.d.", "nota2": "n.d.", "ind3_liquidez": 0.2882817312, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0552625039, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310801", "municipio": "Ivoti", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.7529234955, "nota2": "A", "ind3_liquidez": 0.1492045825, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.18103177, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310850", "municipio": "Jaboticaba", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1108065549, "nota1": "A", "ind2_poupanca": 0.9443264051, "nota2": "B", "ind3_liquidez": 0.1097894018, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2028680353, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310876", "municipio": "Jacuizinho", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0102030175, "nota1": "A", "ind2_poupanca": 0.7783860383, "nota2": "A", "ind3_liquidez": 0.0519002234, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.108291459, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4310900", "municipio": "Jacutinga", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1650354462, "nota1": "A", "ind2_poupanca": 0.9263244686, "nota2": "B", "ind3_liquidez": 0.0146711544, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311007", "municipio": "Jaguarão", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.2477007171, "nota1": "A", "ind2_poupanca": 0.8932583485, "nota2": "B", "ind3_liquidez": 0.0216946697, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.381794459, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311106", "municipio": "Jaguari", "uf": "RS", "capag": "C", "ind1_endividamento": 0.2862130045, "nota1": "A", "ind2_poupanca": 0.9228148325, "nota2": "B", "ind3_liquidez": -0.0384673818, "nota3": "C", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 54.2456207849, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311122", "municipio": "Jaquirana", "uf": "RS", "capag": "A", "ind1_endividamento": 0.2449018482, "nota1": "A", "ind2_poupanca": 0.8976916773, "nota2": "B", "ind3_liquidez": 0.1253879927, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0004939668, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311130", "municipio": "Jari", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8181367333, "nota2": "A", "ind3_liquidez": 0.1235717036, "nota3": "A", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0928021256, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311155", "municipio": "Jóia", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1211540994, "nota1": "A", "ind2_poupanca": 0.8429345163, "nota2": "A", "ind3_liquidez": 0.2037042603, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0513135355, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311205", "municipio": "Júlio de Castilhos", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0486925829, "nota1": "A", "ind2_poupanca": 0.830840997, "nota2": "A", "ind3_liquidez": -0.0002588079, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": null, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311239", "municipio": "Lagoa Bonita do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8840576053, "nota2": "B", "ind3_liquidez": 0.1578155806, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0599628967, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311254", "municipio": "Lagoão", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0280838001, "nota1": "A", "ind2_poupanca": 0.9094941306, "nota2": "B", "ind3_liquidez": -0.0272866378, "nota3": "C", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 2.4169694198, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311270", "municipio": "Lagoa dos Três Cantos", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0560017437, "nota1": "A", "ind2_poupanca": 0.7815313256, "nota2": "A", "ind3_liquidez": 0.2003711983, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0127965284, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311304", "municipio": "Lagoa Vermelha", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1464992044, "nota1": "A", "ind2_poupanca": 0.8899453269, "nota2": "B", "ind3_liquidez": 0.0909616352, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0249381846, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311403", "municipio": "Lajeado", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0498656417, "nota1": "A", "ind2_poupanca": 0.8709441321, "nota2": "B", "ind3_liquidez": 0.0949820434, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2973178149, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311429", "municipio": "Lajeado do Bugre", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1374642607, "nota1": "A", "ind2_poupanca": 0.8651073351, "nota2": "B", "ind3_liquidez": 0.0472964532, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1375027739, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311502", "municipio": "Lavras do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9245815817, "nota2": "B", "ind3_liquidez": 0.0707917372, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2543037277, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311601", "municipio": "Liberato Salzano", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0468190798, "nota1": "A", "ind2_poupanca": 0.8804126739, "nota2": "B", "ind3_liquidez": 0.0409355208, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0170469897, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311627", "municipio": "Lindolfo Collor", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1300931855, "nota1": "A", "ind2_poupanca": 0.779177774, "nota2": "A", "ind3_liquidez": 0.0700136372, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2862746896, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311643", "municipio": "Linha Nova", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9091336821, "nota2": "B", "ind3_liquidez": 0.1640371575, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0720207434, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311700", "municipio": "Machadinho", "uf": "RS", "capag": "B", "ind1_endividamento": 0.2072302221, "nota1": "A", "ind2_poupanca": 0.8917574852, "nota2": "B", "ind3_liquidez": 0.0422094588, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0956827336, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311718", "municipio": "Maçambará", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0015240346, "nota1": "A", "ind2_poupanca": 0.9143304468, "nota2": "B", "ind3_liquidez": 0.1145306641, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0587082693, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311734", "municipio": "Mampituba", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0727570744, "nota1": "A", "ind2_poupanca": 0.8483235096, "nota2": "A", "ind3_liquidez": 0.0157370608, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0288992995, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311759", "municipio": "Manoel Viana", "uf": "RS", "capag": "A", "ind1_endividamento": 0.2420863183, "nota1": "A", "ind2_poupanca": 0.7890880242, "nota2": "A", "ind3_liquidez": 0.2512728274, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0223459924, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311775", "municipio": "Maquiné", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0814247829, "nota1": "A", "ind2_poupanca": 0.8883281638, "nota2": "B", "ind3_liquidez": 0.0016917365, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.910450063, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311791", "municipio": "Maratá", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1665877411, "nota1": "A", "ind2_poupanca": 0.8391511145, "nota2": "A", "ind3_liquidez": 0.0429608425, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3126770751, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311809", "municipio": "Marau", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1406094025, "nota1": "A", "ind2_poupanca": 0.8298940115, "nota2": "A", "ind3_liquidez": 0.1089973737, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1150179227, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311908", "municipio": "Marcelino Ramos", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8808046562, "nota2": "B", "ind3_liquidez": 0.0781670677, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.170460009, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4311981", "municipio": "Mariana Pimentel", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1547620284, "nota1": "A", "ind2_poupanca": 0.8536590926, "nota2": "B", "ind3_liquidez": 0.0266734363, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3401455058, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312005", "municipio": "Mariano Moro", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0354674962, "nota1": "A", "ind2_poupanca": 0.8228172729, "nota2": "A", "ind3_liquidez": 0.0297957677, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1650459037, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312054", "municipio": "Marques de Souza", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0735645842, "nota1": "A", "ind2_poupanca": 0.8226301901, "nota2": "A", "ind3_liquidez": 0.1547947128, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0810005414, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312104", "municipio": "Mata", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0292799372, "nota1": "A", "ind2_poupanca": 0.8814465078, "nota2": "B", "ind3_liquidez": 0.0107187521, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2317936967, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312138", "municipio": "Mato Castelhano", "uf": "RS", "capag": "C", "ind1_endividamento": 0.092543273, "nota1": "A", "ind2_poupanca": 2.3316170052, "nota2": "C", "ind3_liquidez": 0.0048690526, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.6120855184, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312153", "municipio": "Mato Leitão", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0768122791, "nota1": "A", "ind2_poupanca": 0.8171472982, "nota2": "A", "ind3_liquidez": 0.1182430054, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1628897879, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312179", "municipio": "Mato Queimado", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8136722909, "nota2": "A", "ind3_liquidez": 0.1338070722, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0096583749, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312203", "municipio": "Maximiliano de Almeida", "uf": "RS", "capag": "n.d.", "ind1_endividamento": 0.1742199995, "nota1": "A", "ind2_poupanca": 0.9191780465, "nota2": "B", "ind3_liquidez": "n.d.", "nota3": "n.d.", "icf": "Bicf", "observacao": "Município declarou Obrigações Financeiras com valores negativos. Verifique as colunas Restos a Pagar Liquidados e Não Pagos de Exercícios Anteriores, Restos a Pagar Liquidados e Não Pagos do Exercício, Restos a Pagar Empenhados de Exercícios Anteriores e Demais Obrigações Financeiras da rubrica Total dos Recursos Não Vinculados extraídas do Anexo V do RGF.\n", "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": "Sim", "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312252", "municipio": "Minas do Leão", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1882638785, "nota1": "A", "ind2_poupanca": 0.8835028786, "nota2": "B", "ind3_liquidez": 0.152414179, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0350462724, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312302", "municipio": "Miraguaí", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0479899222, "nota1": "A", "ind2_poupanca": 0.9549889169, "nota2": "C", "ind3_liquidez": 0.0188485202, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312351", "municipio": "Montauri", "uf": "RS", "capag": "A+", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.7741629517, "nota2": "A", "ind3_liquidez": 0.1844608456, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0132827082, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312377", "municipio": "Monte Alegre dos Campos", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9160323598, "nota2": "B", "ind3_liquidez": 0.0605986588, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0839635188, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312385", "municipio": "Monte Belo do Sul", "uf": "RS", "capag": "B", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9056129775, "nota2": "B", "ind3_liquidez": 0.0499118241, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3149556513, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312401", "municipio": "Montenegro", "uf": "RS", "capag": "A", "ind1_endividamento": 0.2608472896, "nota1": "A", "ind2_poupanca": 0.8690538794, "nota2": "B", "ind3_liquidez": 0.1315109025, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0344176819, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312427", "municipio": "Mormaço", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1318157164, "nota1": "A", "ind2_poupanca": 0.7772530127, "nota2": "A", "ind3_liquidez": 0.1219363822, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0151703184, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312443", "municipio": "Morrinhos do Sul", "uf": "RS", "capag": "C", "ind1_endividamento": 0.1021576513, "nota1": "A", "ind2_poupanca": 0.9315305769, "nota2": "B", "ind3_liquidez": -0.0261615249, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 26.23648165, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312450", "municipio": "Morro Redondo", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.926777627, "nota2": "B", "ind3_liquidez": 0.2201474259, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0676198323, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312476", "municipio": "Morro Reuter", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0234410415, "nota1": "A", "ind2_poupanca": 0.8451372917, "nota2": "A", "ind3_liquidez": 0.1504194454, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0083910959, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312500", "municipio": "Mostardas", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.1745788515, "nota1": "A", "ind2_poupanca": 0.8836079983, "nota2": "B", "ind3_liquidez": 0.0396761728, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1879172331, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312609", "municipio": "Muçum", "uf": "RS", "capag": "n.d.", "ind1_endividamento": 0.0962073714, "nota1": "A", "ind2_poupanca": 0.9487567137, "nota2": "B", "ind3_liquidez": "n.d.", "nota3": "n.d.", "icf": "Bicf", "observacao": "Município declarou Obrigações Financeiras com valores negativos. Verifique as colunas Restos a Pagar Liquidados e Não Pagos de Exercícios Anteriores, Restos a Pagar Liquidados e Não Pagos do Exercício, Restos a Pagar Empenhados de Exercícios Anteriores e Demais Obrigações Financeiras da rubrica Total dos Recursos Não Vinculados extraídas do Anexo V do RGF.\n", "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": "Sim", "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312617", "municipio": "Muitos Capões", "uf": "RS", "capag": "n.d.", "ind1_endividamento": 0.026600321, "nota1": "A", "ind2_poupanca": 0.8136767028, "nota2": "A", "ind3_liquidez": "n.d.", "nota3": "n.d.", "icf": "Bicf", "observacao": "Município declarou Obrigações Financeiras com valores negativos. Verifique as colunas Restos a Pagar Liquidados e Não Pagos de Exercícios Anteriores, Restos a Pagar Liquidados e Não Pagos do Exercício, Restos a Pagar Empenhados de Exercícios Anteriores e Demais Obrigações Financeiras da rubrica Total dos Recursos Não Vinculados extraídas do Anexo V do RGF.\n", "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": "Sim", "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312625", "municipio": "Muliterno", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0514576502, "nota1": "A", "ind2_poupanca": 0.8648189287, "nota2": "B", "ind3_liquidez": 0.105947592, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.081643029, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312658", "municipio": "Não-Me-Toque", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1336614987, "nota1": "A", "ind2_poupanca": 0.869938347, "nota2": "B", "ind3_liquidez": 0.096733587, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1618345986, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312674", "municipio": "Nicolau Vergueiro", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1799268221, "nota1": "A", "ind2_poupanca": 0.9206734446, "nota2": "B", "ind3_liquidez": 0.1061331357, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 1.70854e-05, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312708", "municipio": "Nonoai", "uf": "RS", "capag": "B", "ind1_endividamento": 0.2334151906, "nota1": "A", "ind2_poupanca": 0.8544186441, "nota2": "B", "ind3_liquidez": 0.0333236517, "nota3": "B", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0665386165, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312757", "municipio": "Nova Alvorada", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1529409556, "nota1": "A", "ind2_poupanca": 0.8631251636, "nota2": "B", "ind3_liquidez": 0.1211969669, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0279572219, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312807", "municipio": "Nova Araçá", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1157219075, "nota1": "A", "ind2_poupanca": 0.7682427196, "nota2": "A", "ind3_liquidez": 0.1553487804, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0896600649, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312906", "municipio": "Nova Bassano", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0136140166, "nota1": "A", "ind2_poupanca": 0.8350586321, "nota2": "A", "ind3_liquidez": 0.0472274746, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1710395086, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4312955", "municipio": "Nova Boa Vista", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1725719984, "nota1": "A", "ind2_poupanca": 0.8001104163, "nota2": "A", "ind3_liquidez": 0.0691947439, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0728006364, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313003", "municipio": "Nova Bréscia", "uf": "RS", "capag": "A", "ind1_endividamento": 0.2164932814, "nota1": "A", "ind2_poupanca": 0.8479091505, "nota2": "A", "ind3_liquidez": 0.1115743231, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0241087447, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313011", "municipio": "Nova Candelária", "uf": "RS", "capag": "A+", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.7432440776, "nota2": "A", "ind3_liquidez": 0.1370702829, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0472086792, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313037", "municipio": "Nova Esperança do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0314477979, "nota1": "A", "ind2_poupanca": 0.8646898247, "nota2": "B", "ind3_liquidez": 0.0604044976, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0202085989, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313060", "municipio": "Nova Hartz", "uf": "RS", "capag": "A", "ind1_endividamento": 0.3035396386, "nota1": "A", "ind2_poupanca": 0.8630754624, "nota2": "B", "ind3_liquidez": 0.1076983473, "nota3": "A", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1469233108, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313086", "municipio": "Nova Pádua", "uf": "RS", "capag": "A", "ind1_endividamento": 0.013527129, "nota1": "A", "ind2_poupanca": 0.7982529205, "nota2": "A", "ind3_liquidez": 0.1142013856, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0833726524, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313102", "municipio": "Nova Palma", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0171887706, "nota1": "A", "ind2_poupanca": 0.8124153889, "nota2": "A", "ind3_liquidez": 0.0877718781, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1223069116, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313201", "municipio": "Nova Petrópolis", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0482301337, "nota1": "A", "ind2_poupanca": 0.9195219791, "nota2": "B", "ind3_liquidez": 0.0706195971, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1237979629, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313300", "municipio": "Nova Prata", "uf": "RS", "capag": "C", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9525105868, "nota2": "C", "ind3_liquidez": 0.0991858776, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1293684419, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313334", "municipio": "Nova Ramada", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1415927969, "nota1": "A", "ind2_poupanca": 0.7952538566, "nota2": "A", "ind3_liquidez": 0.3840010719, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0233694031, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313359", "municipio": "Nova Roma do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1974774759, "nota1": "A", "ind2_poupanca": 0.8165687398, "nota2": "A", "ind3_liquidez": 0.1037563743, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2883822057, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313375", "municipio": "Nova Santa Rita", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0589912615, "nota1": "A", "ind2_poupanca": 0.8748240688, "nota2": "B", "ind3_liquidez": 0.17567318, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1121653106, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313391", "municipio": "Novo Cabrais", "uf": "RS", "capag": "A+", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8770389124, "nota2": "B", "ind3_liquidez": 0.208340802, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0850660127, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313409", "municipio": "Novo Hamburgo", "uf": "RS", "capag": "B", "ind1_endividamento": 0.8285832073, "nota1": "B", "ind2_poupanca": 0.9150149157, "nota2": "B", "ind3_liquidez": 0.0307440067, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.7565269341, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313425", "municipio": "Novo Machado", "uf": "RS", "capag": "n.d.", "ind1_endividamento": 0.0729622491, "nota1": "A", "ind2_poupanca": 0.7670515502, "nota2": "A", "ind3_liquidez": "n.d.", "nota3": "n.d.", "icf": "Cicf", "observacao": "Município declarou Obrigações Financeiras com valores negativos. Verifique as colunas Restos a Pagar Liquidados e Não Pagos de Exercícios Anteriores, Restos a Pagar Liquidados e Não Pagos do Exercício, Restos a Pagar Empenhados de Exercícios Anteriores e Demais Obrigações Financeiras da rubrica Total dos Recursos Não Vinculados extraídas do Anexo V do RGF.\n", "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": "Sim", "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313441", "municipio": "Novo Tiradentes", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1008210742, "nota1": "A", "ind2_poupanca": 0.8556012133, "nota2": "B", "ind3_liquidez": 0.0293663309, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313466", "municipio": "Novo Xingu", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0560877971, "nota1": "A", "ind2_poupanca": 0.8310461024, "nota2": "A", "ind3_liquidez": 0.1502281578, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0122803554, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313490", "municipio": "Novo Barreiro", "uf": "RS", "capag": "A", "ind1_endividamento": 0.2761767927, "nota1": "A", "ind2_poupanca": 0.814943926, "nota2": "A", "ind3_liquidez": 0.0220176637, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4870808144, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313508", "municipio": "Osório", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1619735749, "nota1": "A", "ind2_poupanca": 0.8695479201, "nota2": "B", "ind3_liquidez": 0.019906714, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.5144424957, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313607", "municipio": "Paim Filho", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0403147541, "nota1": "A", "ind2_poupanca": 0.897626254, "nota2": "B", "ind3_liquidez": 0.0341129014, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0217999993, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313656", "municipio": "Palmares do Sul", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.158668539, "nota1": "A", "ind2_poupanca": 0.9062728491, "nota2": "B", "ind3_liquidez": 0.0550858694, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2686925942, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313706", "municipio": "Palmeira das Missões", "uf": "RS", "capag": "A", "ind1_endividamento": 0.3746340597, "nota1": "A", "ind2_poupanca": 0.806072608, "nota2": "A", "ind3_liquidez": 0.0565570422, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.14468064, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313805", "municipio": "Palmitinho", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0200712329, "nota1": "A", "ind2_poupanca": 0.9377706891, "nota2": "B", "ind3_liquidez": 0.0053528797, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.6966206394, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313904", "municipio": "Panambi", "uf": "RS", "capag": "A", "ind1_endividamento": 0.239932978, "nota1": "A", "ind2_poupanca": 0.7992053491, "nota2": "A", "ind3_liquidez": 0.0768663485, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3345464681, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4313953", "municipio": "Pantano Grande", "uf": "RS", "capag": "C", "ind1_endividamento": 0.138903426, "nota1": "A", "ind2_poupanca": 0.9341102458, "nota2": "B", "ind3_liquidez": -0.0045147987, "nota3": "C", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 2.695416191, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314001", "municipio": "Paraí", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1344400509, "nota1": "A", "ind2_poupanca": 0.8125963486, "nota2": "A", "ind3_liquidez": 0.0912759991, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1099465629, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314027", "municipio": "Paraíso do Sul", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1046475057, "nota1": "A", "ind2_poupanca": 0.8323465693, "nota2": "A", "ind3_liquidez": 0.0245514093, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3313149416, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314035", "municipio": "Pareci Novo", "uf": "RS", "capag": "C", "ind1_endividamento": 0.1870322803, "nota1": "A", "ind2_poupanca": 1.0476772617, "nota2": "C", "ind3_liquidez": 0.1069345056, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1355754049, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314050", "municipio": "Parobé", "uf": "RS", "capag": "B", "ind1_endividamento": 0.5524449303, "nota1": "A", "ind2_poupanca": 0.857700298, "nota2": "B", "ind3_liquidez": 0.0137936031, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.6347747633, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314068", "municipio": "Passa Sete", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.814266467, "nota2": "A", "ind3_liquidez": 0.1444014118, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0453060358, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314076", "municipio": "Passo do Sobrado", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1392154602, "nota1": "A", "ind2_poupanca": 0.8942666982, "nota2": "B", "ind3_liquidez": 0.021992636, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1497105342, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314100", "municipio": "Passo Fundo", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1064517194, "nota1": "A", "ind2_poupanca": 0.8460833035, "nota2": "A", "ind3_liquidez": 0.2030557006, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1410286435, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314134", "municipio": "Paulo Bento", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1266536072, "nota1": "A", "ind2_poupanca": 0.8831889764, "nota2": "B", "ind3_liquidez": 0.0187156154, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0410632301, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314159", "municipio": "Paverama", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1642861908, "nota1": "A", "ind2_poupanca": 0.9070964923, "nota2": "B", "ind3_liquidez": 0.0071065766, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.7149718118, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314175", "municipio": "Pedras Altas", "uf": "RS", "capag": "A+", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9044119457, "nota2": "B", "ind3_liquidez": 0.1009630885, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1232136019, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314209", "municipio": "Pedro Osório", "uf": "RS", "capag": "n.d.", "ind1_endividamento": 0.0866699351, "nota1": "A", "ind2_poupanca": 0.9759410572, "nota2": "C", "ind3_liquidez": "n.d.", "nota3": "n.d.", "icf": "Aicf", "observacao": "Município declarou Obrigações Financeiras com valores negativos. Verifique as colunas Restos a Pagar Liquidados e Não Pagos de Exercícios Anteriores, Restos a Pagar Liquidados e Não Pagos do Exercício, Restos a Pagar Empenhados de Exercícios Anteriores e Demais Obrigações Financeiras da rubrica Total dos Recursos Não Vinculados extraídas do Anexo V do RGF.\n", "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": "Sim", "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314308", "municipio": "Pejuçara", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.0942616989, "nota1": "A", "ind2_poupanca": 0.9081308085, "nota2": "B", "ind3_liquidez": 0.0306136767, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314407", "municipio": "Pelotas", "uf": "RS", "capag": "C", "ind1_endividamento": 0.4439618384, "nota1": "A", "ind2_poupanca": 0.9420925283, "nota2": "B", "ind3_liquidez": -0.1273068568, "nota3": "C", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": null, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314423", "municipio": "Picada Café", "uf": "RS", "capag": "A+", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9250986067, "nota2": "B", "ind3_liquidez": 0.1175682224, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0080794355, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314456", "municipio": "Pinhal", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1022148589, "nota1": "A", "ind2_poupanca": 0.8221378304, "nota2": "A", "ind3_liquidez": 0.1040373068, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1544018561, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314464", "municipio": "Pinhal da Serra", "uf": "RS", "capag": "n.d.", "ind1_endividamento": 0.0365541826, "nota1": "A", "ind2_poupanca": 0.9154209692, "nota2": "B", "ind3_liquidez": "n.d.", "nota3": "n.d.", "icf": "Bicf", "observacao": "Município declarou Obrigações Financeiras com valores negativos. Verifique as colunas Restos a Pagar Liquidados e Não Pagos de Exercícios Anteriores, Restos a Pagar Liquidados e Não Pagos do Exercício, Restos a Pagar Empenhados de Exercícios Anteriores e Demais Obrigações Financeiras da rubrica Total dos Recursos Não Vinculados extraídas do Anexo V do RGF.\n", "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": "Sim", "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314472", "municipio": "Pinhal Grande", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0344967045, "nota1": "A", "ind2_poupanca": 0.8723290141, "nota2": "B", "ind3_liquidez": 0.0148415081, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3108150894, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314498", "municipio": "Pinheirinho do Vale", "uf": "RS", "capag": "C", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9742532909, "nota2": "C", "ind3_liquidez": -0.0085072609, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 1.8825169813, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314506", "municipio": "Pinheiro Machado", "uf": "RS", "capag": "A", "ind1_endividamento": 0.4202148516, "nota1": "A", "ind2_poupanca": 0.8197495292, "nota2": "A", "ind3_liquidez": 0.0191891964, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0022765406, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314548", "municipio": "Pinto Bandeira", "uf": "RS", "capag": "C", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 2.5471771069, "nota2": "C", "ind3_liquidez": 0.2880112379, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0316276172, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314555", "municipio": "Pirapó", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0139488496, "nota1": "A", "ind2_poupanca": 0.8601352955, "nota2": "B", "ind3_liquidez": 0.1123267904, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0615377066, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314605", "municipio": "Piratini", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0742164516, "nota1": "A", "ind2_poupanca": 0.8639716879, "nota2": "B", "ind3_liquidez": 0.0352918125, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1038533849, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314704", "municipio": "Planalto", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0253744357, "nota1": "A", "ind2_poupanca": 0.8959070722, "nota2": "B", "ind3_liquidez": 0.0229906482, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1651490352, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314753", "municipio": "Poço das Antas", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0026913684, "nota1": "A", "ind2_poupanca": 0.8326280304, "nota2": "A", "ind3_liquidez": 0.1620361949, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0231754839, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314779", "municipio": "Pontão", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0475110612, "nota1": "A", "ind2_poupanca": 0.8695326103, "nota2": "B", "ind3_liquidez": 0.015311782, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1523845826, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314787", "municipio": "Ponte Preta", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0884882396, "nota1": "A", "ind2_poupanca": 0.8191498849, "nota2": "A", "ind3_liquidez": 0.1788719436, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1548682389, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314803", "municipio": "Portão", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0803656888, "nota1": "A", "ind2_poupanca": 0.8028151421, "nota2": "A", "ind3_liquidez": 0.2616531629, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0661427634, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4314902", "municipio": "Porto Alegre", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.2022119172, "nota1": "A", "ind2_poupanca": 0.9319264956, "nota2": "B", "ind3_liquidez": 0.0640616115, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1190552898, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315008", "municipio": "Porto Lucena", "uf": "RS", "capag": "B", "ind1_endividamento": 0.3612169306, "nota1": "A", "ind2_poupanca": 0.9096898667, "nota2": "B", "ind3_liquidez": 0.0435002, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.123632828, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315057", "municipio": "Porto Mauá", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1709300345, "nota1": "A", "ind2_poupanca": 0.7721739349, "nota2": "A", "ind3_liquidez": 0.153478518, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0314256368, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315073", "municipio": "Porto Vera Cruz", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1378816192, "nota1": "A", "ind2_poupanca": 0.7926981678, "nota2": "A", "ind3_liquidez": 0.2786711258, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0939558006, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315107", "municipio": "Porto Xavier", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0320211477, "nota1": "A", "ind2_poupanca": 0.8869138611, "nota2": "B", "ind3_liquidez": 0.0109923008, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.5404286045, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315131", "municipio": "Pouso Novo", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.1173237352, "nota1": "A", "ind2_poupanca": 0.8788077462, "nota2": "B", "ind3_liquidez": 0.0234416334, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.6616054636, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315149", "municipio": "Presidente Lucena", "uf": "RS", "capag": "A+", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.7148733231, "nota2": "A", "ind3_liquidez": 0.3092034078, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.025530421, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315156", "municipio": "Progresso", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0939505242, "nota1": "A", "ind2_poupanca": 1.0200062634, "nota2": "C", "ind3_liquidez": 0.0246030221, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0980185303, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315172", "municipio": "Protásio Alves", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.7702337914, "nota2": "A", "ind3_liquidez": 0.2728357205, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0173808109, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315206", "municipio": "Putinga", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0317008377, "nota1": "A", "ind2_poupanca": 0.9149853629, "nota2": "B", "ind3_liquidez": 0.0692264042, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0585159614, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315305", "municipio": "Quaraí", "uf": "RS", "capag": "C", "ind1_endividamento": 0.001085419, "nota1": "A", "ind2_poupanca": 0.9679342038, "nota2": "C", "ind3_liquidez": 0.0336730579, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3322250452, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315313", "municipio": "Quatro Irmãos", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1467230997, "nota1": "A", "ind2_poupanca": 0.9152716423, "nota2": "B", "ind3_liquidez": 0.0663256383, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0794758939, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315321", "municipio": "Quevedos", "uf": "RS", "capag": "n.d.", "ind1_endividamento": 0.0018468312, "nota1": "A", "ind2_poupanca": 4.8423099211, "nota2": "C", "ind3_liquidez": "n.d.", "nota3": "n.d.", "icf": "Cicf", "observacao": "Município declarou Obrigações Financeiras com valores negativos. Verifique as colunas Restos a Pagar Liquidados e Não Pagos de Exercícios Anteriores, Restos a Pagar Liquidados e Não Pagos do Exercício, Restos a Pagar Empenhados de Exercícios Anteriores e Demais Obrigações Financeiras da rubrica Total dos Recursos Não Vinculados extraídas do Anexo V do RGF.\n", "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": "Sim", "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315354", "municipio": "Quinze de Novembro", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.1450407878, "nota1": "A", "ind2_poupanca": 0.8897828545, "nota2": "B", "ind3_liquidez": 0.0153177817, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3689011125, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315404", "municipio": "Redentora", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0550641779, "nota1": "A", "ind2_poupanca": 0.8786609901, "nota2": "B", "ind3_liquidez": 0.1232092719, "nota3": "A", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0912160158, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315453", "municipio": "Relvado", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0402886634, "nota1": "A", "ind2_poupanca": 0.8803323315, "nota2": "B", "ind3_liquidez": 0.1321619978, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0173594675, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315503", "municipio": "Restinga Sêca", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1518272405, "nota1": "A", "ind2_poupanca": 0.8626869985, "nota2": "B", "ind3_liquidez": 0.0429092656, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.348567469, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315552", "municipio": "Rio dos Índios", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1676765836, "nota1": "A", "ind2_poupanca": 0.8134725459, "nota2": "A", "ind3_liquidez": 0.0631856355, "nota3": "A", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0808121149, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315602", "municipio": "Rio Grande", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.3025689278, "nota1": "A", "ind2_poupanca": 0.8125201745, "nota2": "A", "ind3_liquidez": 0.0795229609, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2887171194, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315701", "municipio": "Rio Pardo", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.4528460092, "nota1": "A", "ind2_poupanca": 0.9155319906, "nota2": "B", "ind3_liquidez": 0.0064977249, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.8695818324, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315750", "municipio": "Riozinho", "uf": "RS", "capag": "A", "ind1_endividamento": 0.192724959, "nota1": "A", "ind2_poupanca": 0.8434635266, "nota2": "A", "ind3_liquidez": 0.8704813939, "nota3": "A", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0295887586, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315800", "municipio": "Roca Sales", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0456974761, "nota1": "A", "ind2_poupanca": 0.8795983645, "nota2": "B", "ind3_liquidez": -0.0421483891, "nota3": "C", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 2.1831462049, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315909", "municipio": "Rodeio Bonito", "uf": "RS", "capag": "A", "ind1_endividamento": 0.020609772, "nota1": "A", "ind2_poupanca": 0.8583501622, "nota2": "B", "ind3_liquidez": 0.1872858807, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0032634189, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4315958", "municipio": "Rolador", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1015772061, "nota1": "A", "ind2_poupanca": 0.8540209941, "nota2": "B", "ind3_liquidez": 0.0458328336, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.041272918, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316006", "municipio": "Rolante", "uf": "RS", "capag": "B", "ind1_endividamento": 0.2572416059, "nota1": "A", "ind2_poupanca": 0.8552102159, "nota2": "B", "ind3_liquidez": 0.0357101497, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1503634297, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316105", "municipio": "Ronda Alta", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0948459615, "nota1": "A", "ind2_poupanca": 0.8490594525, "nota2": "A", "ind3_liquidez": 0.0555164368, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0666345485, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316204", "municipio": "Rondinha", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1035162607, "nota1": "A", "ind2_poupanca": 0.7827981324, "nota2": "A", "ind3_liquidez": 0.1980334377, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0262197371, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316303", "municipio": "Roque Gonzales", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1090133157, "nota1": "A", "ind2_poupanca": 0.9239450554, "nota2": "B", "ind3_liquidez": 0.0433360148, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2564898199, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316402", "municipio": "Rosário do Sul", "uf": "RS", "capag": "C", "ind1_endividamento": 0.4410463066, "nota1": "A", "ind2_poupanca": 0.8663485529, "nota2": "B", "ind3_liquidez": -0.0942973753, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 10.8058653088, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316428", "municipio": "Sagrada Família", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1540717427, "nota1": "A", "ind2_poupanca": 0.8289349012, "nota2": "A", "ind3_liquidez": 0.00117641, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.6663791591, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316436", "municipio": "Saldanha Marinho", "uf": "RS", "capag": "C", "ind1_endividamento": 0.1199458601, "nota1": "A", "ind2_poupanca": 0.9013626177, "nota2": "B", "ind3_liquidez": -0.0736733477, "nota3": "C", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": null, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316451", "municipio": "Salto do Jacuí", "uf": "RS", "capag": "B", "ind1_endividamento": 0.216642621, "nota1": "A", "ind2_poupanca": 0.8658601624, "nota2": "B", "ind3_liquidez": 0.0177865269, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0678205252, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316477", "municipio": "Salvador das Missões", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9079813943, "nota2": "B", "ind3_liquidez": 0.0846366807, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0320087353, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316501", "municipio": "Salvador do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1674547378, "nota1": "A", "ind2_poupanca": 0.7810766888, "nota2": "A", "ind3_liquidez": 0.1198156462, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0300470598, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316600", "municipio": "Sananduva", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0675374919, "nota1": "A", "ind2_poupanca": 0.8594724681, "nota2": "B", "ind3_liquidez": 0.0031641747, "nota3": "B", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.797265553, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316709", "municipio": "Santa Bárbara do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1399923612, "nota1": "A", "ind2_poupanca": 0.8808817195, "nota2": "B", "ind3_liquidez": 0.1279843238, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0747422095, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316733", "municipio": "Santa Cecília do Sul", "uf": "RS", "capag": "B", "ind1_endividamento": 0.13562292, "nota1": "A", "ind2_poupanca": 0.8908939841, "nota2": "B", "ind3_liquidez": 0.0137449621, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3969351796, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316758", "municipio": "Santa Clara do Sul", "uf": "RS", "capag": "A+", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8900643794, "nota2": "B", "ind3_liquidez": 0.0647522742, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0629158, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316808", "municipio": "Santa Cruz do Sul", "uf": "RS", "capag": "C", "ind1_endividamento": 0.2695361805, "nota1": "A", "ind2_poupanca": 0.9568065795, "nota2": "C", "ind3_liquidez": 0.0413723515, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4915402372, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316907", "municipio": "Santa Maria", "uf": "RS", "capag": "C", "ind1_endividamento": 0.1591597538, "nota1": "A", "ind2_poupanca": 0.9789750792, "nota2": "C", "ind3_liquidez": 0.0199390542, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.6990303623, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316956", "municipio": "Santa Maria do Herval", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8618526838, "nota2": "B", "ind3_liquidez": 0.0563316355, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2884813362, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4316972", "municipio": "Santa Margarida do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.11498682, "nota1": "A", "ind2_poupanca": 0.8578343109, "nota2": "B", "ind3_liquidez": 0.2474095713, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0215830678, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4317004", "municipio": "Santana da Boa Vista", "uf": "RS", "capag": "A+", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8117216721, "nota2": "A", "ind3_liquidez": 0.1308943373, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.048990116, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4317103", "municipio": "Sant'Ana do Livramento", "uf": "RS", "capag": "B", "ind1_endividamento": 0.926464369, "nota1": "B", "ind2_poupanca": 0.8503356447, "nota2": "B", "ind3_liquidez": 0.1416382017, "nota3": "A", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2005578058, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4317202", "municipio": "Santa Rosa", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.3196178147, "nota1": "A", "ind2_poupanca": 0.8345099314, "nota2": "A", "ind3_liquidez": 0.1340781331, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1083331256, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4317251", "municipio": "Santa Tereza", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9243754076, "nota2": "B", "ind3_liquidez": 0.1251258605, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.169465684, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4317301", "municipio": "Santa Vitória do Palmar", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.230120573, "nota1": "A", "ind2_poupanca": 0.8445890045, "nota2": "A", "ind3_liquidez": 0.0589657161, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2913205083, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4317400", "municipio": "Santiago", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0742050988, "nota1": "A", "ind2_poupanca": 0.8758484189, "nota2": "B", "ind3_liquidez": 0.1478419891, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0787426797, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4317509", "municipio": "Santo Ângelo", "uf": "RS", "capag": "C", "ind1_endividamento": 0.2555457935, "nota1": "A", "ind2_poupanca": 0.9333095237, "nota2": "B", "ind3_liquidez": -0.0039062191, "nota3": "C", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 1.1296177451, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4317558", "municipio": "Santo Antônio do Palma", "uf": "RS", "capag": "C", "ind1_endividamento": 0.2642688818, "nota1": "A", "ind2_poupanca": 0.8350730541, "nota2": "A", "ind3_liquidez": 0, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4317608", "municipio": "Santo Antônio da Patrulha", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.1631423221, "nota1": "A", "ind2_poupanca": 0.8764399898, "nota2": "B", "ind3_liquidez": 0.0343694053, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3888182871, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4317707", "municipio": "Santo Antônio das Missões", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0910187336, "nota1": "A", "ind2_poupanca": 0.9314063171, "nota2": "B", "ind3_liquidez": 0.0275780732, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3171092302, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4317756", "municipio": "Santo Antônio do Planalto", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1778869475, "nota1": "A", "ind2_poupanca": 0.7829734407, "nota2": "A", "ind3_liquidez": 0.0950761358, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.264012451, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4317806", "municipio": "Santo Augusto", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0269385271, "nota1": "A", "ind2_poupanca": 0.8116831869, "nota2": "A", "ind3_liquidez": 0.2171992479, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.049183954, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4317905", "municipio": "Santo Cristo", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.7893970622, "nota2": "A", "ind3_liquidez": 0.1657585051, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2196002133, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4317954", "municipio": "Santo Expedito do Sul", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1118919509, "nota1": "A", "ind2_poupanca": 0.9316666012, "nota2": "B", "ind3_liquidez": 0.0458045616, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0657473019, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318002", "municipio": "São Borja", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.2219157325, "nota1": "A", "ind2_poupanca": 0.9003591851, "nota2": "B", "ind3_liquidez": 0.0430688376, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1390034941, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318051", "municipio": "São Domingos do Sul", "uf": "RS", "capag": "B", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9146201967, "nota2": "B", "ind3_liquidez": 0.0338053972, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0480942085, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318101", "municipio": "São Francisco de Assis", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.3114347285, "nota1": "A", "ind2_poupanca": 0.9142379633, "nota2": "B", "ind3_liquidez": 0.0416236668, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3040670149, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318200", "municipio": "São Francisco de Paula", "uf": "RS", "capag": "n.d.", "ind1_endividamento": 0.1032898649, "nota1": "A", "ind2_poupanca": 0.8481970758, "nota2": "A", "ind3_liquidez": "n.d.", "nota3": "n.d.", "icf": "Bicf", "observacao": "Município declarou Obrigações Financeiras com valores negativos. Verifique as colunas Restos a Pagar Liquidados e Não Pagos de Exercícios Anteriores, Restos a Pagar Liquidados e Não Pagos do Exercício, Restos a Pagar Empenhados de Exercícios Anteriores e Demais Obrigações Financeiras da rubrica Total dos Recursos Não Vinculados extraídas do Anexo V do RGF.\n", "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": "Sim", "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318309", "municipio": "São Gabriel", "uf": "RS", "capag": "C", "ind1_endividamento": 0.3025167341, "nota1": "A", "ind2_poupanca": 0.9073541503, "nota2": "B", "ind3_liquidez": -0.0581438884, "nota3": "C", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 9.125458067, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318408", "municipio": "São Jerônimo", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0986430391, "nota1": "A", "ind2_poupanca": 0.8242864835, "nota2": "A", "ind3_liquidez": 0.1631214, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0502466728, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318424", "municipio": "São João da Urtiga", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0089243976, "nota1": "A", "ind2_poupanca": 0.8715300757, "nota2": "B", "ind3_liquidez": 0.025547427, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318432", "municipio": "São João do Polêsine", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0210662821, "nota1": "A", "ind2_poupanca": 0.7767370391, "nota2": "A", "ind3_liquidez": 0.0880267931, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.137024861, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318440", "municipio": "São Jorge", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1118542494, "nota1": "A", "ind2_poupanca": 0.8432686859, "nota2": "A", "ind3_liquidez": 0.1157546471, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0143263157, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318457", "municipio": "São José das Missões", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0570364076, "nota1": "A", "ind2_poupanca": 0.9431762265, "nota2": "B", "ind3_liquidez": 0.0073428052, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.6669770581, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318465", "municipio": "São José do Herval", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0340503338, "nota1": "A", "ind2_poupanca": 0.8831709196, "nota2": "B", "ind3_liquidez": 0.051005201, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0709908421, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318481", "municipio": "São José do Hortêncio", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8335275556, "nota2": "A", "ind3_liquidez": 0.0387481974, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0673895422, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318499", "municipio": "São José do Inhacorá", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0130069158, "nota1": "A", "ind2_poupanca": 0.7888357524, "nota2": "A", "ind3_liquidez": 0.1082892027, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0451840896, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318507", "municipio": "São José do Norte", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0912853134, "nota1": "A", "ind2_poupanca": 0.9456235523, "nota2": "B", "ind3_liquidez": 0.0544203707, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0620687143, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318606", "municipio": "São José do Ouro", "uf": "RS", "capag": "C", "ind1_endividamento": 0.1869720605, "nota1": "A", "ind2_poupanca": 0.8797122983, "nota2": "B", "ind3_liquidez": 0, "nota3": "C", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318614", "municipio": "São José do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.058298452, "nota1": "A", "ind2_poupanca": 0.804140644, "nota2": "A", "ind3_liquidez": 0.1390582446, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0421850146, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318622", "municipio": "São José dos Ausentes", "uf": "RS", "capag": "n.d.", "ind1_endividamento": 0.0521063227, "nota1": "A", "ind2_poupanca": 0.7222263221, "nota2": "A", "ind3_liquidez": "n.d.", "nota3": "n.d.", "icf": "Bicf", "observacao": "Município declarou Obrigações Financeiras com valores negativos. Verifique as colunas Restos a Pagar Liquidados e Não Pagos de Exercícios Anteriores, Restos a Pagar Liquidados e Não Pagos do Exercício, Restos a Pagar Empenhados de Exercícios Anteriores e Demais Obrigações Financeiras da rubrica Total dos Recursos Não Vinculados extraídas do Anexo V do RGF.\n", "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": "Sim", "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318705", "municipio": "São Leopoldo", "uf": "RS", "capag": "C", "ind1_endividamento": 0.5190020742, "nota1": "A", "ind2_poupanca": 0.908125391, "nota2": "B", "ind3_liquidez": -0.0152857403, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 3.1098396641, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318804", "municipio": "São Lourenço do Sul", "uf": "RS", "capag": "B", "ind1_endividamento": 0.4393244269, "nota1": "A", "ind2_poupanca": 0.8860597033, "nota2": "B", "ind3_liquidez": 0.0353648859, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3310057636, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4318903", "municipio": "São Luiz Gonzaga", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1235365842, "nota1": "A", "ind2_poupanca": 0.8496300568, "nota2": "A", "ind3_liquidez": 0.0957100465, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1824563551, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319000", "municipio": "São Marcos", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.7462434202, "nota2": "A", "ind3_liquidez": 0.2703093532, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0175894946, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319109", "municipio": "São Martinho", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1323342206, "nota1": "A", "ind2_poupanca": 0.8489907965, "nota2": "A", "ind3_liquidez": 0.0703658045, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2630980411, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319125", "municipio": "São Martinho da Serra", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0244578296, "nota1": "A", "ind2_poupanca": 0.9121951115, "nota2": "B", "ind3_liquidez": 0.1978639498, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1197087026, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319158", "municipio": "São Miguel das Missões", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0198356423, "nota1": "A", "ind2_poupanca": 0.871509919, "nota2": "B", "ind3_liquidez": 0.1974266245, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0383315656, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319208", "municipio": "São Nicolau", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1841967232, "nota1": "A", "ind2_poupanca": 0.908673877, "nota2": "B", "ind3_liquidez": 0.0113087677, "nota3": "B", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4336804302, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319307", "municipio": "São Paulo das Missões", "uf": "RS", "capag": "B", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9341318814, "nota2": "B", "ind3_liquidez": 0.0186334592, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.6507710592, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319356", "municipio": "São Pedro da Serra", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.7367628981, "nota2": "A", "ind3_liquidez": 0.2259701808, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0459747855, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319364", "municipio": "São Pedro das Missões", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8537147214, "nota2": "B", "ind3_liquidez": 0.0562889216, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319372", "municipio": "São Pedro do Butiá", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8109674571, "nota2": "A", "ind3_liquidez": 0.1260588681, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0262367735, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319406", "municipio": "São Pedro do Sul", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0443993946, "nota1": "A", "ind2_poupanca": 0.9644062544, "nota2": "C", "ind3_liquidez": 0.0324089667, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2585441716, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319505", "municipio": "São Sebastião do Caí", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1370186838, "nota1": "A", "ind2_poupanca": 0.8319710854, "nota2": "A", "ind3_liquidez": 0.0174554072, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4127919868, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319604", "municipio": "São Sepé", "uf": "RS", "capag": "C", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 1.0143251422, "nota2": "C", "ind3_liquidez": 0.0273558235, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1743217359, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319703", "municipio": "São Valentim", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0773432862, "nota1": "A", "ind2_poupanca": 0.869131936, "nota2": "B", "ind3_liquidez": 0.0673150382, "nota3": "A", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0135973695, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319711", "municipio": "São Valentim do Sul", "uf": "RS", "capag": "A+", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.7864800779, "nota2": "A", "ind3_liquidez": 0.1796093813, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.024560733, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319737", "municipio": "São Valério do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0269180236, "nota1": "A", "ind2_poupanca": 0.807037202, "nota2": "A", "ind3_liquidez": 0.079560576, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1681870096, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319752", "municipio": "São Vendelino", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1231348751, "nota1": "A", "ind2_poupanca": 0.7117495151, "nota2": "A", "ind3_liquidez": 0.0438299791, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3134574419, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319802", "municipio": "São Vicente do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0895430216, "nota1": "A", "ind2_poupanca": 0.852917635, "nota2": "B", "ind3_liquidez": 0.148765885, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0111062922, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4319901", "municipio": "Sapiranga", "uf": "RS", "capag": "A", "ind1_endividamento": 0.2113530059, "nota1": "A", "ind2_poupanca": 0.7935863279, "nota2": "A", "ind3_liquidez": 0.1614975849, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.062451036, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320008", "municipio": "Sapucaia do Sul", "uf": "RS", "capag": "B", "ind1_endividamento": 0.2220872146, "nota1": "A", "ind2_poupanca": 0.8789082869, "nota2": "B", "ind3_liquidez": 0.009036849, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.683994925, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320107", "municipio": "Sarandi", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.1559596702, "nota1": "A", "ind2_poupanca": 0.8557077381, "nota2": "B", "ind3_liquidez": 0.0469766953, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1112872603, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320206", "municipio": "Seberi", "uf": "RS", "capag": "C", "ind1_endividamento": 0.2004874305, "nota1": "A", "ind2_poupanca": 0.8783691297, "nota2": "B", "ind3_liquidez": -0.0066741893, "nota3": "C", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": null, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320230", "municipio": "Sede Nova", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0816473885, "nota1": "A", "ind2_poupanca": 0.8085282538, "nota2": "A", "ind3_liquidez": 0.1933583223, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0670104056, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320263", "municipio": "Segredo", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0036676943, "nota1": "A", "ind2_poupanca": 0.8862404051, "nota2": "B", "ind3_liquidez": 0.0340588737, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1060671236, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320305", "municipio": "Selbach", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0874880412, "nota1": "A", "ind2_poupanca": 0.7790720794, "nota2": "A", "ind3_liquidez": 0.138691035, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0250645328, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320321", "municipio": "Senador Salgado Filho", "uf": "RS", "capag": "A+", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8642875206, "nota2": "B", "ind3_liquidez": 0.1225284081, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0165716415, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320354", "municipio": "Sentinela do Sul", "uf": "RS", "capag": "A+", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8767667562, "nota2": "B", "ind3_liquidez": 0.1768559446, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0656275987, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320404", "municipio": "Serafina Corrêa", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0917352345, "nota1": "A", "ind2_poupanca": 0.8274841822, "nota2": "A", "ind3_liquidez": 0.0254870191, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1497401703, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320453", "municipio": "Sério", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0668334063, "nota1": "A", "ind2_poupanca": 0.8804990201, "nota2": "B", "ind3_liquidez": 0.1249294278, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0597208943, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320503", "municipio": "Sertão", "uf": "RS", "capag": "B", "ind1_endividamento": 0.2823260719, "nota1": "A", "ind2_poupanca": 0.8883728507, "nota2": "B", "ind3_liquidez": 0.0452543664, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2576863313, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320552", "municipio": "Sertão Santana", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8355747496, "nota2": "A", "ind3_liquidez": 0.0175541611, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3991187604, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320578", "municipio": "Sete de Setembro", "uf": "RS", "capag": "A", "ind1_endividamento": 0.062257129, "nota1": "A", "ind2_poupanca": 0.8057972255, "nota2": "A", "ind3_liquidez": 0.1025422094, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1310676583, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320602", "municipio": "Severiano de Almeida", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0582928748, "nota1": "A", "ind2_poupanca": 0.7967770625, "nota2": "A", "ind3_liquidez": 0.105956523, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0446568943, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320651", "municipio": "Silveira Martins", "uf": "RS", "capag": "A+", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.6904122868, "nota2": "A", "ind3_liquidez": 0.1554377911, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0242615605, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320677", "municipio": "Sinimbu", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0780040958, "nota1": "A", "ind2_poupanca": 0.9256479964, "nota2": "B", "ind3_liquidez": 0.1491113108, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0893814387, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320701", "municipio": "Sobradinho", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0996672104, "nota1": "A", "ind2_poupanca": 0.8976110515, "nota2": "B", "ind3_liquidez": -0.0300274939, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": null, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320800", "municipio": "Soledade", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1360383194, "nota1": "A", "ind2_poupanca": 0.9169454435, "nota2": "B", "ind3_liquidez": 0.0612668689, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1204648777, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320859", "municipio": "Tabaí", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1898617386, "nota1": "A", "ind2_poupanca": 0.9417316378, "nota2": "B", "ind3_liquidez": 0.0339019686, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.5749098956, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4320909", "municipio": "Tapejara", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1534907487, "nota1": "A", "ind2_poupanca": 0.835588267, "nota2": "A", "ind3_liquidez": 0.0596749763, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2213766598, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321006", "municipio": "Tapera", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1357820335, "nota1": "A", "ind2_poupanca": 0.8592846272, "nota2": "B", "ind3_liquidez": 0.0829524683, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0233051971, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321105", "municipio": "Tapes", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1017927402, "nota1": "A", "ind2_poupanca": 0.8474640877, "nota2": "A", "ind3_liquidez": 0.0427460137, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2529200822, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321204", "municipio": "Taquara", "uf": "RS", "capag": "B", "ind1_endividamento": 0.2389972931, "nota1": "A", "ind2_poupanca": 0.8662880991, "nota2": "B", "ind3_liquidez": 0.0065623086, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.8008787762, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321303", "municipio": "Taquari", "uf": "RS", "capag": "B", "ind1_endividamento": 0.3038908328, "nota1": "A", "ind2_poupanca": 0.8743174399, "nota2": "B", "ind3_liquidez": 0.0406379825, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0222442607, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321329", "municipio": "Taquaruçu do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0692881857, "nota1": "A", "ind2_poupanca": 0.884153556, "nota2": "B", "ind3_liquidez": 0.1281378253, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0791486182, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321352", "municipio": "Tavares", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1538789168, "nota1": "A", "ind2_poupanca": 0.8866597577, "nota2": "B", "ind3_liquidez": 0.1490507123, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0589157433, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321402", "municipio": "Tenente Portela", "uf": "RS", "capag": "n.d.", "ind1_endividamento": 0.12781026, "nota1": "A", "ind2_poupanca": 0.8570266468, "nota2": "B", "ind3_liquidez": "n.d.", "nota3": "n.d.", "icf": "Bicf", "observacao": "Município declarou Obrigações Financeiras com valores negativos. Verifique as colunas Restos a Pagar Liquidados e Não Pagos de Exercícios Anteriores, Restos a Pagar Liquidados e Não Pagos do Exercício, Restos a Pagar Empenhados de Exercícios Anteriores e Demais Obrigações Financeiras da rubrica Total dos Recursos Não Vinculados extraídas do Anexo V do RGF.\n", "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": "n.d.", "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": "Sim", "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321436", "municipio": "Terra de Areia", "uf": "RS", "capag": "A", "ind1_endividamento": 0.2628604766, "nota1": "A", "ind2_poupanca": 0.8511824476, "nota2": "B", "ind3_liquidez": 0.0524598632, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2751407137, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321451", "municipio": "Teutônia", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0995124745, "nota1": "A", "ind2_poupanca": 0.8661153327, "nota2": "B", "ind3_liquidez": 0.0210365644, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.205562525, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321469", "municipio": "Tio Hugo", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1223050655, "nota1": "A", "ind2_poupanca": 0.8935463534, "nota2": "B", "ind3_liquidez": 0.1025462477, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0158139636, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321477", "municipio": "Tiradentes do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0665120993, "nota1": "A", "ind2_poupanca": 0.8987884816, "nota2": "B", "ind3_liquidez": 0.0631808357, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0341028892, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321493", "municipio": "Toropi", "uf": "RS", "capag": "B", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8666954045, "nota2": "B", "ind3_liquidez": 0.0267352559, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1608917897, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321501", "municipio": "Torres", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.096832186, "nota1": "A", "ind2_poupanca": 0.7795222798, "nota2": "A", "ind3_liquidez": 0.0647304099, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.5231109989, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321600", "municipio": "Tramandaí", "uf": "RS", "capag": "A", "ind1_endividamento": 0.281905491, "nota1": "A", "ind2_poupanca": 0.840839712, "nota2": "A", "ind3_liquidez": 0.0109181553, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4423206649, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321626", "municipio": "Travesseiro", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0510290574, "nota1": "A", "ind2_poupanca": 0.967279115, "nota2": "C", "ind3_liquidez": 0.1282117051, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1319203783, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321634", "municipio": "Três Arroios", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1087410308, "nota1": "A", "ind2_poupanca": 0.7811641779, "nota2": "A", "ind3_liquidez": 0.0914229781, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0205618691, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321667", "municipio": "Três Cachoeiras", "uf": "RS", "capag": "B", "ind1_endividamento": 0.172217425, "nota1": "A", "ind2_poupanca": 0.9470212469, "nota2": "B", "ind3_liquidez": 0.035957043, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321709", "municipio": "Três Coroas", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.1063596212, "nota1": "A", "ind2_poupanca": 0.8632736438, "nota2": "B", "ind3_liquidez": 0.0426000607, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1655701111, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321808", "municipio": "Três de Maio", "uf": "RS", "capag": "A", "ind1_endividamento": 0.2780678864, "nota1": "A", "ind2_poupanca": 0.9125283845, "nota2": "B", "ind3_liquidez": 0.1074586533, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1039923874, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321832", "municipio": "Três Forquilhas", "uf": "RS", "capag": "C", "ind1_endividamento": 0.1205300534, "nota1": "A", "ind2_poupanca": 1.6003980414, "nota2": "C", "ind3_liquidez": 0.0014406086, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.8025518072, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321857", "municipio": "Três Palmeiras", "uf": "RS", "capag": "B", "ind1_endividamento": 0.2889639957, "nota1": "A", "ind2_poupanca": 0.8759026971, "nota2": "B", "ind3_liquidez": 0.0137072164, "nota3": "B", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3344950957, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321907", "municipio": "Três Passos", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8719097997, "nota2": "B", "ind3_liquidez": 0.1459130729, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0444674247, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4321956", "municipio": "Trindade do Sul", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1659844855, "nota1": "A", "ind2_poupanca": 0.8454234051, "nota2": "A", "ind3_liquidez": 0.00800012, "nota3": "B", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0975940993, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322004", "municipio": "Triunfo", "uf": "RS", "capag": "C", "ind1_endividamento": 0.6263150539, "nota1": "B", "ind2_poupanca": 0.8694460847, "nota2": "B", "ind3_liquidez": -0.0592217268, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 5.6912145991, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322103", "municipio": "Tucunduva", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1973663105, "nota1": "A", "ind2_poupanca": 0.9144430393, "nota2": "B", "ind3_liquidez": 0.0348818489, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0170655084, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322152", "municipio": "Tunas", "uf": "RS", "capag": "C", "ind1_endividamento": 0.3842428165, "nota1": "A", "ind2_poupanca": 0.7580803547, "nota2": "A", "ind3_liquidez": -0.0135481913, "nota3": "C", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 1.9900102778, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322186", "municipio": "Tupanci do Sul", "uf": "RS", "capag": "B", "ind1_endividamento": 0.0852061128, "nota1": "A", "ind2_poupanca": 0.9273041841, "nota2": "B", "ind3_liquidez": 0.0330376318, "nota3": "B", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.2107025417, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322202", "municipio": "Tupanciretã", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0247027758, "nota1": "A", "ind2_poupanca": 0.809893567, "nota2": "A", "ind3_liquidez": 0.2322647333, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0600017905, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322251", "municipio": "Tupandi", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8260733455, "nota2": "A", "ind3_liquidez": 0.0552592736, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.063400662, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322301", "municipio": "Tuparendi", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1901125823, "nota1": "A", "ind2_poupanca": 0.7732250448, "nota2": "A", "ind3_liquidez": 0.0584861651, "nota3": "A", "icf": "Dicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0385899836, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322327", "municipio": "Turuçu", "uf": "RS", "capag": "C", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9636779849, "nota2": "C", "ind3_liquidez": 0.0781684029, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1358623362, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322343", "municipio": "Ubiretama", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0067686449, "nota1": "A", "ind2_poupanca": 0.8028648305, "nota2": "A", "ind3_liquidez": 0.053406024, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1069616429, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322350", "municipio": "União da Serra", "uf": "RS", "capag": "A+", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8195371169, "nota2": "A", "ind3_liquidez": 0.1551073805, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.005417356, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322376", "municipio": "Unistalda", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.7595671665, "nota2": "A", "ind3_liquidez": 0.6418426802, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0006190667, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322400", "municipio": "Uruguaiana", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.4784070863, "nota1": "A", "ind2_poupanca": 0.932682151, "nota2": "B", "ind3_liquidez": 0.0331561602, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3177688322, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322509", "municipio": "Vacaria", "uf": "RS", "capag": "C", "ind1_endividamento": 0.1087342913, "nota1": "A", "ind2_poupanca": 5.0674754992, "nota2": "C", "ind3_liquidez": 0.0163809244, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.4310306358, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322525", "municipio": "Vale Verde", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0911785821, "nota1": "A", "ind2_poupanca": 0.8407725669, "nota2": "A", "ind3_liquidez": 0.0627223306, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0677180974, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322533", "municipio": "Vale do Sol", "uf": "RS", "capag": "B+", "ind1_endividamento": 0.0480401911, "nota1": "A", "ind2_poupanca": 0.8756488298, "nota2": "B", "ind3_liquidez": 0.0456223291, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0876879132, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322541", "municipio": "Vale Real", "uf": "RS", "capag": "B", "ind1_endividamento": 0.179359042, "nota1": "A", "ind2_poupanca": 0.8598837451, "nota2": "B", "ind3_liquidez": 0.0343168611, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1405498803, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322558", "municipio": "Vanini", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1708513581, "nota1": "A", "ind2_poupanca": 0.8632846477, "nota2": "B", "ind3_liquidez": 0.1208995381, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0138135297, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322608", "municipio": "Venâncio Aires", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.1998875509, "nota1": "A", "ind2_poupanca": 0.8722700388, "nota2": "B", "ind3_liquidez": 0.1045974402, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0696101823, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322707", "municipio": "Vera Cruz", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0740783007, "nota1": "A", "ind2_poupanca": 0.878879633, "nota2": "B", "ind3_liquidez": 0.1161048668, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0438475942, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322806", "municipio": "Veranópolis", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0272829658, "nota1": "A", "ind2_poupanca": 0.8626257676, "nota2": "B", "ind3_liquidez": 0.0831112539, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.3269300822, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322855", "municipio": "Vespasiano Corrêa", "uf": "RS", "capag": "C", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.9693844421, "nota2": "C", "ind3_liquidez": 0.0159337863, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.550828229, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4322905", "municipio": "Viadutos", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0315374822, "nota1": "A", "ind2_poupanca": 0.7909285248, "nota2": "A", "ind3_liquidez": 0.1121399826, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1273976941, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4323002", "municipio": "Viamão", "uf": "RS", "capag": "C", "ind1_endividamento": 0.3618892193, "nota1": "A", "ind2_poupanca": 0.9269290247, "nota2": "B", "ind3_liquidez": -0.0044829795, "nota3": "C", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": null, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4323101", "municipio": "Vicente Dutra", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0571084743, "nota1": "A", "ind2_poupanca": 0.8715149142, "nota2": "B", "ind3_liquidez": 0.0895058392, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.1588441602, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4323200", "municipio": "Victor Graeff", "uf": "RS", "capag": "A", "ind1_endividamento": 0.1107262183, "nota1": "A", "ind2_poupanca": 0.7915040063, "nota2": "A", "ind3_liquidez": 0.1352595531, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0965254123, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4323309", "municipio": "Vila Flores", "uf": "RS", "capag": "C", "ind1_endividamento": 0.0677126346, "nota1": "A", "ind2_poupanca": 1.1222229725, "nota2": "C", "ind3_liquidez": 0.0940458769, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0727668184, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4323358", "municipio": "Vila Lângaro", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0942786849, "nota1": "A", "ind2_poupanca": 0.7563282975, "nota2": "A", "ind3_liquidez": 0.0885726442, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0429691811, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4323408", "municipio": "Vila Maria", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.124533602, "nota1": "A", "ind2_poupanca": 0.8312285809, "nota2": "A", "ind3_liquidez": 0.0426471621, "nota3": "B", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.031264262, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4323457", "municipio": "Vila Nova do Sul", "uf": "RS", "capag": "A+", "ind1_endividamento": 0.0274256942, "nota1": "A", "ind2_poupanca": 0.8411458018, "nota2": "A", "ind3_liquidez": 0.1504509464, "nota3": "A", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0116193332, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4323507", "municipio": "Vista Alegre", "uf": "RS", "capag": "A", "ind1_endividamento": 0.047940503, "nota1": "A", "ind2_poupanca": 0.9092869386, "nota2": "B", "ind3_liquidez": 0.052598432, "nota3": "A", "icf": "Cicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0266405936, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4323606", "municipio": "Vista Alegre do Prata", "uf": "RS", "capag": "A", "ind1_endividamento": 0, "nota1": "A", "ind2_poupanca": 0.8525527293, "nota2": "B", "ind3_liquidez": 0.1509952201, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.105942365, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4323705", "municipio": "Vista Gaúcha", "uf": "RS", "capag": "A", "ind1_endividamento": 0.154549204, "nota1": "A", "ind2_poupanca": 0.8295678279, "nota2": "A", "ind3_liquidez": 0.0426401185, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4323754", "municipio": "Vitória das Missões", "uf": "RS", "capag": "C", "ind1_endividamento": 0.1559353975, "nota1": "A", "ind2_poupanca": 7.710271129, "nota2": "C", "ind3_liquidez": -0.0637715269, "nota3": "C", "icf": "Aicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 3.6692640076, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4323770", "municipio": "Westfália", "uf": "RS", "capag": "A", "ind1_endividamento": 0.0132316385, "nota1": "A", "ind2_poupanca": 0.8418788159, "nota2": "A", "ind3_liquidez": 0.2122292371, "nota3": "A", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.0921374564, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}, {"cod_ibge": "4323804", "municipio": "Xangri-lá", "uf": "RS", "capag": "B", "ind1_endividamento": 0.1722537645, "nota1": "A", "ind2_poupanca": 0.8646834562, "nota2": "B", "ind3_liquidez": 0.0086070729, "nota3": "B", "icf": "Bicf", "observacao": null, "origem_nota": "CAPAG Ano Base 2024", "possui_dca_2024": "Sim", "ind3_antigo": 0.6296146996, "possui_dca_2023": "Sim", "capag_rebaixada": null, "deducao_negativa": null, "dcb_zerada_negativa": null, "of_negativa": null, "publicou_rgf": "Sim", "publicou_rreo": "Sim"}]
\ No newline at end of file
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/centroids_rs.json b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/centroids_rs.json
new file mode 100644
index 0000000..cf237ab
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/centroids_rs.json
@@ -0,0 +1 @@
+{"4300034": [-31.8665, -54.1615], "4300059": [-28.1672, -52.031], "4300109": [-29.6447, -53.2515], "4300208": [-28.2342, -53.7757], "4300307": [-27.6579, -54.7649], "4300406": [-29.7902, -55.7949], "4300455": [-27.8345, -54.0557], "4300471": [-28.1149, -52.9142], "4300505": [-27.2502, -53.0341], "4300554": [-28.7769, -52.9893], "4300570": [-29.3919, -51.3123], "4300604": [-29.9914, -51.0809], "4300638": [-30.8756, -52.2509], "4300646": [-27.3607, -53.183], "4300661": [-28.6283, -51.5797], "4300703": [-28.9698, -52.0102], "4300802": [-28.8565, -51.2883], "4300851": [-30.9092, -51.5046], "4300877": [-29.6168, -50.9291], "4300901": [-27.3978, -52.2975], "4301008": [-29.4014, -51.9557], "4301057": [-29.5439, -49.8895], "4301073": [-31.4389, -52.4246], "4301107": [-30.0875, -51.7275], "4301206": [-29.3348, -53.0966], "4301305": [-32.2327, -53.0862], "4301404": [-28.8737, -52.1781], "4301503": [-28.5172, -53.9883], "4301552": [-27.6936, -52.0505], "4301602": [-31.3297, -54.0999], "4301636": [-30.2419, -50.2337], "4301651": [-29.3725, -51.4949], "4301701": [-27.6208, -52.3798], "4301750": [-30.3891, -51.7384], "4301800": [-27.6739, -51.4585], "4301859": [-27.1927, -53.7109], "4301875": [-30.2029, -57.5497], "4301909": [-30.2939, -51.3014], "4301925": [-27.4069, -52.4084], "4301958": [-27.9205, -53.0391], "4302006": [-29.0947, -52.5836], "4302055": [-27.5086, -52.5995], "4302105": [-29.1662, -51.5165], "4302154": [-27.6671, -53.3102], "4302204": [-27.6693, -54.1082], "4302220": [-28.5791, -53.8108], "4302238": [-28.8185, -53.391], "4302253": [-29.3544, -51.6687], "4302303": [-28.6697, -50.4295], "4302352": [-29.4856, -51.3548], "4302378": [-27.5399, -53.8716], "4302402": [-29.6071, -51.9456], "4302451": [-29.3046, -52.4284], "4302501": [-28.7291, -54.9035], "4302584": [-28.3659, -53.772], "4302600": [-27.6173, -53.7405], "4302659": [-29.5501, -51.5945], "4302709": [-30.1179, -51.9601], "4302808": [-30.5144, -53.4827], "4302907": [-29.8883, -54.822], "4303004": [-30.033, -52.8928], "4303103": [-29.9472, -51.1016], "4303202": [-27.767, -51.6597], "4303301": [-28.2905, -54.6454], "4303400": [-27.2791, -53.4257], "4303509": [-30.8489, -51.8043], "4303558": [-28.588, -52.2003], "4303608": [-29.0474, -50.1465], "4303673": [-28.7926, -51.0941], "4303707": [-27.9888, -54.8416], "4303806": [-27.7174, -52.6248], "4303905": [-29.6747, -51.0606], "4304002": [-27.6792, -53.8052], "4304101": [-28.8871, -53.0008], "4304200": [-29.6684, -52.7895], "4304309": [-27.9515, -54.7517], "4304358": [-31.5516, -53.6773], "4304408": [-29.356, -50.8119], "4304507": [-31.396, -52.6783], "4304606": [-29.9128, -51.1857], "4304614": [-29.3271, -52.2374], "4304622": [-28.1254, -51.3961], "4304630": [-29.7642, -50.0282], "4304655": [-28.9312, -54.5558], "4304663": [-31.7565, -52.4889], "4304671": [-30.1383, -50.5152], "4304689": [-29.6961, -51.328], "4304697": [-29.2674, -51.9853], "4304705": [-28.2958, -52.7933], "4304713": [-29.7869, -50.4316], "4304804": [-29.2969, -51.5028], "4304853": [-27.7167, -51.9121], "4304903": [-28.5605, -51.9815], "4304952": [-28.2582, -51.6861], "4305009": [-28.2554, -54.0132], "4305108": [-29.1629, -51.1792], "4305116": [-27.7615, -51.9984], "4305124": [-31.8419, -52.8004], "4305132": [-29.657, -52.9406], "4305157": [-27.6106, -53.1672], "4305173": [-30.5905, -51.7418], "4305207": [-28.1463, -54.7428], "4305306": [-28.0559, -53.0665], "4305355": [-29.9625, -51.6289], "4305371": [-27.9493, -52.015], "4305405": [-27.923, -53.9419], "4305439": [-33.6866, -53.4594], "4305447": [-30.7504, -51.9737], "4305454": [-30.1604, -50.2337], "4305504": [-28.3419, -51.8741], "4305587": [-29.3948, -51.8556], "4305603": [-28.5258, -52.9928], "4305702": [-28.2075, -53.4905], "4305801": [-27.732, -52.9938], "4305835": [-29.1802, -52.0942], "4305850": [-28.1194, -52.7842], "4305871": [-28.3921, -54.0686], "4305900": [-27.7197, -53.7022], "4305934": [-29.2695, -51.6847], "4305959": [-28.9891, -51.6971], "4305975": [-28.128, -52.3023], "4306007": [-27.4999, -54.0994], "4306056": [-31.0046, -52.0436], "4306072": [-27.452, -53.2422], "4306106": [-28.645, -53.6048], "4306130": [-27.6672, -52.6522], "4306205": [-29.5148, -51.9928], "4306304": [-28.3849, -51.8482], "4306320": [-27.2642, -53.8645], "4306353": [-28.219, -55.0617], "4306379": [-29.7054, -54.2122], "4306403": [-29.5836, -51.0898], "4306429": [-27.6621, -53.5304], "4306452": [-28.983, -51.8396], "4306502": [-30.7004, -52.1026], "4306551": [-29.3639, -49.853], "4306601": [-30.9756, -54.6694], "4306700": [-29.6195, -53.3617], "4306734": [-27.5103, -54.3577], "4306759": [-29.084, -51.9972], "4306767": [-30.0847, -51.6187], "4306809": [-29.2351, -51.8703], "4306908": [-30.543, -52.5204], "4306924": [-27.706, -52.9145], "4306932": [-28.3686, -54.2686], "4306957": [-27.5298, -52.7347], "4306973": [-27.8544, -52.3005], "4307005": [-27.6364, -52.2697], "4307054": [-28.4977, -52.5836], "4307104": [-32.024, -53.3944], "4307203": [-27.3926, -52.574], "4307302": [-27.5443, -53.5005], "4307401": [-28.0518, -51.1933], "4307450": [-27.3603, -53.9891], "4307500": [-28.7286, -52.8461], "4307559": [-27.9135, -52.2635], "4307609": [-29.6535, -51.1843], "4307708": [-29.852, -51.1841], "4307807": [-29.5002, -51.9495], "4307815": [-29.1713, -53.1639], "4307831": [-28.5315, -54.1506], "4307864": [-28.8794, -51.7014], "4307906": [-29.2227, -51.3419], "4308003": [-29.5788, -53.4484], "4308052": [-27.4238, -52.6789], "4308078": [-29.5885, -51.8217], "4308102": [-29.4527, -51.3032], "4308201": [-29.0261, -51.1875], "4308250": [-27.8614, -52.0838], "4308300": [-28.9817, -52.3445], "4308409": [-30.0035, -53.4959], "4308433": [-29.3828, -52.0981], "4308458": [-28.7986, -53.2249], "4308508": [-27.3586, -53.3958], "4308607": [-29.259, -51.5352], "4308656": [-28.1944, -55.6383], "4308706": [-27.5856, -52.0915], "4308805": [-29.9032, -51.7612], "4308854": [-28.4316, -52.0337], "4308904": [-27.8911, -52.2294], "4309001": [-28.0297, -54.3517], "4309050": [-29.8798, -50.7734], "4309100": [-29.3734, -50.8762], "4309126": [-27.4429, -52.9149], "4309159": [-29.2706, -52.5795], "4309209": [-29.9413, -50.9869], "4309258": [-28.5421, -51.6948], "4309308": [-30.1086, -51.3233], "4309407": [-28.8399, -51.8895], "4309506": [-28.1491, -54.5629], "4309555": [-29.5456, -51.4185], "4309571": [-29.4552, -52.6553], "4309605": [-27.6282, -54.3053], "4309654": [-31.4067, -53.8667], "4309704": [-27.5691, -53.9695], "4309753": [-29.4203, -53.1295], "4309803": [-28.0566, -51.8599], "4309902": [-28.3741, -51.6377], "4309951": [-28.6247, -52.5158], "4310009": [-28.6302, -53.0961], "4310108": [-29.5693, -50.7919], "4310207": [-28.388, -53.92], "4310306": [-28.9282, -52.1258], "4310330": [-29.9753, -50.1281], "4310363": [-29.3508, -51.7748], "4310405": [-27.8354, -54.1886], "4310413": [-27.8752, -54.015], "4310439": [-28.8171, -51.2859], "4310462": [-27.9404, -52.4271], "4310504": [-27.1951, -53.2543], "4310538": [-29.6013, -53.7725], "4310553": [-28.7913, -55.2447], "4310579": [-28.7768, -52.1693], "4310603": [-29.1311, -56.5515], "4310652": [-29.4974, -50.1016], "4310702": [-27.3846, -52.4538], "4310751": [-29.5232, -53.5842], "4310801": [-29.5995, -51.1533], "4310850": [-27.6347, -53.2762], "4310876": [-29.0401, -53.0657], "4310900": [-27.7291, -52.5372], "4311007": [-32.5604, -53.377], "4311106": [-29.4936, -54.703], "4311122": [-28.8811, -50.3637], "4311130": [-29.2922, -54.2237], "4311155": [-28.6435, -54.1141], "4311205": [-29.2299, -53.6772], "4311239": [-29.4939, -53.017], "4311254": [-29.2348, -52.7997], "4311270": [-28.5676, -52.8618], "4311304": [-28.2093, -51.5248], "4311403": [-29.4591, -51.9644], "4311429": [-27.6913, -53.1818], "4311502": [-30.8071, -53.8931], "4311601": [-27.601, -53.0753], "4311627": [-29.5859, -51.2141], "4311643": [-29.4679, -51.2003], "4311700": [-27.5667, -51.6668], "4311718": [-29.1445, -56.0674], "4311734": [-29.2136, -49.9311], "4311759": [-29.5859, -55.4841], "4311775": [-29.6798, -50.2079], "4311791": [-29.5457, -51.5573], "4311809": [-28.4498, -52.1986], "4311908": [-27.4676, -51.9095], "4311981": [-30.353, -51.5803], "4312005": [-27.3568, -52.1467], "4312054": [-29.3311, -52.0973], "4312104": [-29.5649, -54.4641], "4312138": [-28.28, -52.1932], "4312153": [-29.5285, -52.1278], "4312179": [-28.252, -54.6159], "4312203": [-27.6325, -51.802], "4312252": [-30.1346, -52.0423], "4312302": [-27.497, -53.6891], "4312351": [-28.6462, -52.0767], "4312377": [-28.6805, -50.7834], "4312385": [-29.1607, -51.6333], "4312401": [-29.6824, -51.4679], "4312427": [-28.6968, -52.6999], "4312443": [-29.3578, -49.9328], "4312450": [-31.5887, -52.6261], "4312476": [-29.5379, -51.0811], "4312500": [-31.1054, -50.9167], "4312609": [-29.163, -51.8714], "4312617": [-28.3132, -51.1836], "4312625": [-28.3253, -51.7697], "4312658": [-28.4548, -52.8182], "4312674": [-28.5298, -52.4676], "4312708": [-27.3689, -52.7756], "4312757": [-28.6822, -52.1631], "4312807": [-28.6537, -51.7458], "4312906": [-28.7291, -51.7072], "4312955": [-27.9926, -52.9784], "4313003": [-29.2182, -52.0319], "4313011": [-27.6137, -54.1074], "4313037": [-29.4066, -54.8293], "4313060": [-29.5808, -50.9051], "4313086": [-29.0275, -51.3098], "4313102": [-29.471, -53.4689], "4313201": [-29.3741, -51.1136], "4313300": [-28.7799, -51.6113], "4313334": [-28.0667, -53.6992], "4313359": [-28.9882, -51.4095], "4313375": [-29.8525, -51.2837], "4313391": [-29.7338, -52.9489], "4313409": [-29.6875, -51.1328], "4313425": [-27.5765, -54.5036], "4313441": [-27.5649, -53.1837], "4313466": [-27.749, -53.0639], "4313490": [-27.9077, -53.1103], "4313508": [-29.8881, -50.2667], "4313607": [-27.7075, -51.763], "4313656": [-30.2535, -50.5103], "4313706": [-27.9007, -53.3134], "4313805": [-27.3596, -53.558], "4313904": [-28.2833, -53.5023], "4313953": [-30.1902, -52.3729], "4314001": [-28.5964, -51.7896], "4314027": [-29.6717, -53.144], "4314035": [-29.6365, -51.3974], "4314050": [-29.6243, -50.8312], "4314068": [-29.4577, -52.9599], "4314076": [-29.748, -52.2748], "4314100": [-28.2576, -52.4091], "4314134": [-27.7051, -52.4169], "4314159": [-29.5486, -51.7339], "4314175": [-31.7365, -53.5814], "4314209": [-31.8642, -52.8184], "4314308": [-28.4283, -53.6579], "4314407": [-31.7649, -52.3371], "4314423": [-29.4464, -51.1367], "4314456": [-27.508, -53.2082], "4314464": [-27.8751, -51.1673], "4314472": [-29.345, -53.3206], "4314498": [-27.2109, -53.608], "4314506": [-31.5794, -53.3798], "4314548": [-29.0975, -51.4503], "4314555": [-28.0439, -55.2001], "4314605": [-31.4473, -53.0973], "4314704": [-27.3297, -53.0575], "4314753": [-29.4481, -51.6719], "4314779": [-28.0585, -52.6791], "4314787": [-27.6587, -52.4848], "4314803": [-29.7015, -51.2429], "4314902": [-30.0318, -51.2065], "4315008": [-27.8569, -55.01], "4315057": [-27.5796, -54.6657], "4315073": [-27.7405, -54.8994], "4315107": [-27.9082, -55.1379], "4315131": [-29.1738, -52.2136], "4315149": [-29.5175, -51.1798], "4315156": [-29.2441, -52.3197], "4315172": [-28.7572, -51.4757], "4315206": [-29.0045, -52.1569], "4315305": [-30.384, -56.4483], "4315313": [-27.8257, -52.4424], "4315321": [-29.3504, -54.0789], "4315354": [-28.7466, -53.1011], "4315404": [-27.664, -53.6407], "4315453": [-29.1164, -52.0778], "4315503": [-29.8188, -53.3807], "4315552": [-27.2973, -52.8417], "4315602": [-32.0349, -52.1071], "4315701": [-29.988, -52.3711], "4315750": [-29.639, -50.4488], "4315800": [-29.2884, -51.8658], "4315909": [-27.4742, -53.1706], "4315958": [-28.2566, -54.8186], "4316006": [-29.6462, -50.5819], "4316105": [-27.7758, -52.8056], "4316204": [-27.8315, -52.9081], "4316303": [-28.1297, -55.0266], "4316402": [-30.2515, -54.9221], "4316428": [-27.7085, -53.1351], "4316436": [-28.3941, -53.097], "4316451": [-29.0951, -53.2133], "4316477": [-28.1233, -54.8373], "4316501": [-29.4386, -51.5077], "4316600": [-27.947, -51.8079], "4316709": [-28.3653, -53.251], "4316733": [-28.1609, -51.9279], "4316758": [-29.4747, -52.0843], "4316808": [-29.722, -52.4343], "4316907": [-29.6868, -53.8149], "4316956": [-29.4902, -50.9919], "4316972": [-30.3393, -54.0817], "4317004": [-30.8697, -53.11], "4317103": [-30.8773, -55.5392], "4317202": [-27.8702, -54.4796], "4317251": [-29.1655, -51.7351], "4317301": [-33.525, -53.3717], "4317400": [-29.1897, -54.8666], "4317509": [-28.3001, -54.2668], "4317558": [-28.4956, -52.0267], "4317608": [-29.8268, -50.5175], "4317707": [-28.514, -55.2251], "4317756": [-28.403, -52.6992], "4317806": [-27.8526, -53.7776], "4317905": [-27.8263, -54.662], "4317954": [-27.9074, -51.6434], "4318002": [-28.6578, -56.0036], "4318051": [-28.5312, -51.886], "4318101": [-29.5547, -55.1253], "4318200": [-29.4404, -50.5828], "4318309": [-30.3337, -54.3217], "4318408": [-29.9716, -51.7251], "4318424": [-27.8195, -51.8257], "4318432": [-29.6194, -53.4439], "4318440": [-28.4984, -51.7064], "4318457": [-27.7789, -53.1226], "4318465": [-29.052, -52.295], "4318481": [-29.528, -51.245], "4318499": [-27.7251, -54.1275], "4318507": [-32.0151, -52.0331], "4318606": [-27.7707, -51.5966], "4318614": [-29.5448, -51.4821], "4318622": [-28.7476, -50.0677], "4318705": [-29.7545, -51.1498], "4318804": [-31.3564, -51.9715], "4318903": [-28.412, -54.9559], "4319000": [-28.9677, -51.0696], "4319109": [-27.7112, -53.9699], "4319125": [-29.5397, -53.859], "4319158": [-28.556, -54.5559], "4319208": [-28.1834, -55.2654], "4319307": [-28.0195, -54.9404], "4319356": [-29.4193, -51.5134], "4319364": [-27.7706, -53.2513], "4319372": [-28.1243, -54.8926], "4319406": [-29.6202, -54.1855], "4319505": [-29.5885, -51.3749], "4319604": [-30.1643, -53.5603], "4319703": [-27.5583, -52.5237], "4319711": [-29.0451, -51.7684], "4319737": [-27.7906, -53.9368], "4319752": [-29.3729, -51.3675], "4319802": [-29.6882, -54.6826], "4319901": [-29.6349, -51.0064], "4320008": [-29.8276, -51.145], "4320107": [-27.942, -52.9231], "4320206": [-27.4829, -53.4026], "4320230": [-27.6367, -53.9493], "4320263": [-29.3523, -52.9767], "4320305": [-28.6294, -52.9498], "4320321": [-28.025, -54.5507], "4320354": [-30.6107, -51.5862], "4320404": [-28.7126, -51.9352], "4320453": [-29.3904, -52.2685], "4320503": [-27.9798, -52.2588], "4320552": [-30.4562, -51.6017], "4320578": [-28.1362, -54.4637], "4320602": [-27.4362, -52.1217], "4320651": [-29.6467, -53.591], "4320677": [-29.5357, -52.5304], "4320701": [-29.4194, -53.0326], "4320800": [-28.8306, -52.5131], "4320859": [-29.643, -51.6823], "4320909": [-28.0652, -52.0097], "4321006": [-28.6277, -52.8613], "4321105": [-30.6683, -51.3991], "4321204": [-29.6505, -50.7753], "4321303": [-29.7943, -51.8653], "4321329": [-27.4005, -53.4702], "4321352": [-31.2843, -51.088], "4321402": [-27.3711, -53.7585], "4321436": [-29.5782, -50.0644], "4321451": [-29.4482, -51.8044], "4321469": [-28.5712, -52.5955], "4321477": [-27.4022, -54.0814], "4321493": [-29.4782, -54.2244], "4321501": [-29.3334, -49.7333], "4321600": [-29.9841, -50.1322], "4321626": [-29.2977, -52.0532], "4321634": [-27.5003, -52.1448], "4321667": [-29.4487, -49.9275], "4321709": [-29.5137, -50.7739], "4321808": [-27.78, -54.2357], "4321832": [-29.5384, -50.0708], "4321857": [-27.6139, -52.8437], "4321907": [-27.4555, -53.9296], "4321956": [-27.5239, -52.8956], "4322004": [-29.9291, -51.7075], "4322103": [-27.6573, -54.4439], "4322152": [-29.1039, -52.9538], "4322186": [-27.9241, -51.5383], "4322202": [-29.0858, -53.8445], "4322251": [-29.4772, -51.4174], "4322301": [-27.7598, -54.4814], "4322327": [-31.4173, -52.1706], "4322343": [-28.0404, -54.686], "4322350": [-28.7833, -52.0238], "4322376": [-29.04, -55.1517], "4322400": [-29.7614, -57.0853], "4322509": [-28.5079, -50.9418], "4322525": [-29.7864, -52.1857], "4322533": [-29.5967, -52.6839], "4322541": [-29.3919, -51.2559], "4322558": [-28.4758, -51.8447], "4322608": [-29.6143, -52.1932], "4322707": [-29.7184, -52.5152], "4322806": [-28.9312, -51.5516], "4322855": [-29.0655, -51.8625], "4322905": [-27.5716, -52.0211], "4323002": [-30.0819, -51.0194], "4323101": [-27.1607, -53.4022], "4323200": [-28.5632, -52.7495], "4323309": [-28.8598, -51.5504], "4323358": [-28.1062, -52.1438], "4323408": [-28.5359, -52.1486], "4323457": [-30.3461, -53.876], "4323507": [-27.3686, -53.4919], "4323606": [-28.8052, -51.7947], "4323705": [-27.2902, -53.6974], "4323754": [-28.3516, -54.504], "4323770": [-29.4263, -51.7645], "4323804": [-29.8065, -50.0519]}
\ No newline at end of file
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/comuna_capacity_scores_u11.csv b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/comuna_capacity_scores_u11.csv
new file mode 100644
index 0000000..9b5aee4
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/comuna_capacity_scores_u11.csv
@@ -0,0 +1,6 @@
+city_name,locode,region_name,population,fcm_dependency_pct,fcm_dependency_band,poverty_rate,median_household_income,city_id,country_code,disability_prevalence,electricity_access_rate,employment_agriculture_forestry,employment_construction,employment_electricity_gas,employment_in_transport_and_logistics,employment_manufacturing,employment_mining,employment_water_waste,fixed_internet_household_share,home_ownership,indigenous_identification_rate,literacy_rate,mean_years_schooling,public_transport_share,renter_share,unemployment_rate,total_income_2023_mclp,ipp_percapita_2023_mclp,ipp_share_total_pct_2023,total_income_pc_clp,staff_planta_2023,staff_contrata_2023,total_staff_2023,professionalization_pct_2023,staff_per_1000_2023,prof_staff_abs,p_fcm,p_ipppc,p_ippsh,cofinance_score,p_prof,p_profstaff,p_totinc,anchor_score,composite_score
+Corral,CL CRR,Los Ríos,5493.0,88.47,very high (dependent),12.53,813000.0,62gud2hq4rrsvur4btdn,CL,15.25,98.39,21.74,9.64,0.28,11.39,9.03,0.57,1.23,15.21,80.48,28.25,94.42,9.01,33.92,7.09,3.71,4166117.0,64.2,8.37,758441.0,28.0,6.0,34.0,44.12,6.19,15.0008,8.280254777070056,16.666666666666664,7.051282051282051,10.7,71.04377104377105,5.05050505050505,7.6923076923076925,27.9,19.3
+Máfil,CL MAF,Los Ríos,8036.0,80.0,very high (dependent),32.89,873481.0,62unjyq2bu87wkf13yp2,CL,12.92,98.94,24.26,8.91,0.39,4.76,9.94,1.03,1.22,31.71,67.65,17.83,94.39,9.31,26.61,13.06,15.02,4112239.0,78.14,14.03,511727.0,30.0,23.0,53.0,37.74,6.6,20.002200000000002,24.522292993630572,29.166666666666668,22.756410256410255,25.5,46.801346801346796,13.468013468013467,7.371794871794872,22.5,24.0
+Los Lagos,CL LLG,Los Ríos,21421.0,67.53,high,23.9,900828.0,62umhur7qh5p808vkbem,CL,12.92,98.93,19.16,11.28,0.82,6.08,12.07,0.99,0.76,31.18,66.92,14.41,93.35,8.95,15.46,13.82,5.5,7539992.0,81.37,22.15,351991.0,70.0,24.0,94.0,38.3,4.39,36.001999999999995,51.910828025477706,32.69230769230769,43.91025641025641,42.8,47.81144781144781,48.821548821548824,39.1025641025641,45.2,44.0
+Paillaco,CL PAO,Los Ríos,19719.0,67.22,high,28.0,803695.0,62uhn2tnhkg18mgfe4pe,CL,11.51,99.35,22.17,9.07,2.38,6.33,7.6,0.87,0.99,34.82,66.34,17.68,93.85,9.03,16.53,14.01,10.03,8358367.0,85.41,21.37,423874.0,27.0,47.0,74.0,56.76,3.75,42.0024,52.86624203821656,37.17948717948718,40.38461538461539,43.5,91.91919191919192,56.9023569023569,41.98717948717949,63.6,53.6
+Valdivia,CL ZAL,Los Ríos,166958.0,56.98,high,15.47,1088166.0,62gvqzr8df70vknj13re,CL,10.84,99.73,3.43,7.86,0.94,5.47,8.64,0.4,0.68,71.91,59.22,16.34,96.45,11.01,33.1,28.21,8.15,54497643.0,109.41,36.31,326415.0,372.0,273.0,645.0,41.09,3.86,265.0305,66.2420382165605,53.205128205128204,77.56410256410257,65.7,59.93265993265994,96.63299663299664,90.06410256410257,82.2,74.0
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/coordination_units_u11.csv b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/coordination_units_u11.csv
new file mode 100644
index 0000000..5a4bc0b
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/coordination_units_u11.csv
@@ -0,0 +1,7 @@
+unit_id,comuna,region,locode,anchor_score,cofinance_score,is_anchor,unit_anchor,unit_anchor_score,unit_size,unit_viable_anchor
+11,Valdivia,Región de Los Ríos,CL ZAL,82.2,65.7,True,Valdivia,82.2,6,True
+11,Paillaco,Región de Los Ríos,CL PAO,63.6,43.5,False,Valdivia,82.2,6,True
+11,Los Lagos,Región de Los Ríos,CL LLG,45.2,42.8,False,Valdivia,82.2,6,True
+11,Corral,Región de Los Ríos,CL CRR,27.9,10.7,False,Valdivia,82.2,6,True
+11,Máfil,Región de Los Ríos,CL MAF,22.5,25.5,False,Valdivia,82.2,6,True
+11,Mariquina,Región de Los Ríos,,,,False,Valdivia,82.2,6,True
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/unit_bundle_candidates_u11.csv b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/unit_bundle_candidates_u11.csv
new file mode 100644
index 0000000..d3347ca
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/unit_bundle_candidates_u11.csv
@@ -0,0 +1,14 @@
+unit_id,unit_anchor,region,unit_size,sector,coordination_tier,n_comunas_sharing,n_action_archetypes,instrument_class,viable_anchor,actor_route,bundle_feasible
+11,Valdivia,Región de Los Ríos,6,Stationary Energy,highly_coordinated,5,20,pooled grant/loan · ESCO · debt,True,municipal applicant,True
+11,Valdivia,Región de Los Ríos,6,Stationary Energy,semi_coordinated,5,9,programmatic / blended,True,municipal applicant,True
+11,Valdivia,Región de Los Ríos,6,Transportation,highly_coordinated,4,1,pooled grant/loan · ESCO · debt,True,municipal applicant,True
+11,Valdivia,Región de Los Ríos,6,Transportation,semi_coordinated,4,5,programmatic / blended,True,municipal applicant,True
+11,Valdivia,Región de Los Ríos,6,Waste,highly_coordinated,2,1,pooled grant/loan · ESCO · debt,True,municipal applicant,True
+11,Valdivia,Región de Los Ríos,6,Waste,semi_coordinated,2,7,programmatic / blended,True,municipal applicant,True
+11,Valdivia,Región de Los Ríos,6,Stationary Energy,idiosyncratic,5,2,grant / PES / TA,True,municipal applicant,False
+11,Valdivia,Región de Los Ríos,6,Transportation,idiosyncratic,4,2,grant / PES / TA,True,municipal applicant,False
+11,Valdivia,Región de Los Ríos,6,AFOLU,idiosyncratic,4,27,grant / PES / TA,True,municipal applicant,False
+11,Valdivia,Región de Los Ríos,6,IPPU,highly_coordinated,3,5,pooled grant/loan · ESCO · debt,True,firm-actor: city is referrer,False
+11,Valdivia,Región de Los Ríos,6,IPPU,idiosyncratic,3,3,grant / PES / TA,True,firm-actor: city is referrer,False
+11,Valdivia,Región de Los Ríos,6,IPPU,semi_coordinated,3,18,programmatic / blended,True,firm-actor: city is referrer,False
+11,Valdivia,Región de Los Ríos,6,Waste,idiosyncratic,2,2,grant / PES / TA,True,municipal applicant,False
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/valdivia_action_matches.csv b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/valdivia_action_matches.csv
new file mode 100644
index 0000000..8c11c86
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/valdivia_action_matches.csv
@@ -0,0 +1,103 @@
+action_id,action,sector,priority,best_funder,best_funder_inst,role,af,cf,combined,verdict
+icare_0117,Improve public transport systems to promote modal shift,transportation,0.3134,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,match
+icare_0121,"Incentive to create bike-sharing programs in urban areas, wi",transportation,0.3134,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,match
+icare_0139,Implement congestion pricing and restrictions on high-pollut,transportation,0.3134,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,match
+c40_0023,Adopt zero-emission bus fleets for public transport,transportation,0.3134,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,match
+c40_0025,Promote deployment of zero-emission freight fleets (trucks),transportation,0.3134,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,match
+c40_0029,Electrify municipal vehicle fleets,transportation,0.3134,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,match
+ipcc_0001,Promote compact urban form and transit-oriented development,transportation,0.3134,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,match
+ipcc_0105,Promote active mobility through road space reallocation,transportation,0.3134,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,match
+icare_0002,Promote and expand the use of the Brazilian Energy Labeling ,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0006,Develop integrated renewable energy planning and solar–batte,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0008,Enable smart grid integration and distributed energy storage,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0009,Deploy cogeneration systems in industries,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0010,Promote Net-Zero and Green Building Certifications,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0012,Expand solar energy generation on municipal facilities and p,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0015,Promote Mini and Micro-Hydropower and Biomass Energy,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0016,Promote solar thermal and heat pump systems for water heatin,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0023,Upgrade and maintain electrical substations,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0024,Integrate renewables into municipal water systems,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0025,Promote energy-efficient and climate-resilient housing for l,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0026,Implement time-of-use electricity tariffs to enhance demand-,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0027,Create financing programs for local renewable energy project,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0028,Promote passive cooling through natural shading and ventilat,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0033,Install biodigesters in rural properties,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0035,Enhance industrial energy efficiency processes,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0040,Deploy energy-efficient and solar-powered street lighting ac,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0049,Develop regional hubs for renewable energy production,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0104,Adopt hybrid renewable energy systems (solar-wind),stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0105,Reduce technical losses in energy distribution networks,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0120,Implement energy efficiency criteria and indicators in the p,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0137,Replace Inefficient Lighting with LED Technology in Public S,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+c40_0010,Introduce energy-efficiency standards for new residential bu,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+c40_0012,Introduce energy-efficiency standards for new institutional ,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+c40_0013,Support Implementation of Industrial Building Efficiency Sta,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+c40_0015,Retrofit residential buildings for energy efficiency,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+c40_0016,Retrofit commercial and institutional other non-residential ,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+c40_0017,Retrofit municipal buildings for energy efficiency,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+c40_0018,Optimize energy efficiency and sustainability standards for ,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+c40_0071,Promote the phase out the reliance on fossil fuels for cooki,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+ipcc_0074,Promote compact urban form through spatial planning,stationary_energy,0.2861,Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,1.0,1.0,match
+icare_0053,Support cooperatives of voluntary waste collectors to aggreg,waste,0.1507,FPR 2026 - Fondo para el Reciclaje,Ministerio del Medio Ambiente (MMA),applicant,1.0,1.0,1.0,match
+icare_0064,Develop an organic waste management strategy,waste,0.1507,FPR 2026 - Fondo para el Reciclaje,Ministerio del Medio Ambiente (MMA),applicant,1.0,1.0,1.0,match
+icare_0110,Regulate Construction and Demolition Waste Management to imp,waste,0.1507,FPR 2026 - Fondo para el Reciclaje,Ministerio del Medio Ambiente (MMA),applicant,1.0,1.0,1.0,match
+icare_0111,Strengthen Extended Producer Responsibility (EPR) Systems,waste,0.1507,FPR 2026 - Fondo para el Reciclaje,Ministerio del Medio Ambiente (MMA),applicant,1.0,1.0,1.0,match
+c40_0034,Enact and enforce material bans in order to restrict single ,waste,0.1507,FPR 2026 - Fondo para el Reciclaje,Ministerio del Medio Ambiente (MMA),applicant,1.0,1.0,1.0,match
+c40_0035,Optmize waste management systems,waste,0.1507,FPR 2026 - Fondo para el Reciclaje,Ministerio del Medio Ambiente (MMA),applicant,1.0,1.0,1.0,match
+c40_0036,Upgrade Landfills to Engineered Sanitary Landfills with Gas ,waste,0.1507,FPR 2026 - Fondo para el Reciclaje,Ministerio del Medio Ambiente (MMA),applicant,1.0,1.0,1.0,match
+c40_0037,Implement residential and business segregated collection of ,waste,0.1507,FPR 2026 - Fondo para el Reciclaje,Ministerio del Medio Ambiente (MMA),applicant,1.0,1.0,1.0,match
+c40_0040,Implement Volume-Based Collection policy,waste,0.1507,FPR 2026 - Fondo para el Reciclaje,Ministerio del Medio Ambiente (MMA),applicant,1.0,1.0,1.0,match
+icare_0031,Capture & Use Biogas at Wastewater Treatment Plants',waste,0.1507,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Ministerio del Medio Ambiente (MMA))
+icare_0001,Improve heat and energy recovery,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+icare_0034,Improve Fuel Supply Systems for Industrial Heating,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+icare_0071,Increase efficiency of industrial furnaces and kilns,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+icare_0072,Improve Heat Recovery and Reuse through Heat Exchanger Netwo,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+icare_0074,Adopt industrial energy efficiency technologies,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+icare_0076,Electrify Industrial Processes (with Renewable Power),industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+icare_0078,Decarbonize industrial feedstocks,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+icare_0079,Implement carbon capture and utilization (CCU),industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+icare_0082,Implement carbon capture and storage (CCS),industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0023,Design products with lightweight materials,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0024,Improve material utilization efficiency in production,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0025,"Design for Recovery, Reuse, or Repurposing",industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0026,Adopt alternative feedstocks in industrial production,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0031,Enhanced product service levels per product (e.g. product sh,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0033,Improve product maintenance to extend lifespan,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0037,Adopt net-zero-emissions materials and supply chains,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0038,Stimulate solar energy production in industrial facilities,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0039,Promote the substitution of traditional materials with susta,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0040,Promote industry-government collaborations on emissions redu,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0041,Support research into carbon-neutral manufacturing technolog,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0042,Set carbon emissions reduction targets for industrial sector,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0043,Encourage the Use of Zero-Emission Fuels in Industrial Proce,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0045,Transition to renewable energy for industrial operations,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0049,Develop and implement circular economy policies,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0050,Create tax incentives for companies adopting clean technolog,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+ipcc_0076,Implement energy audits in industrial plants,industry/IPPU,0.1365,Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,0.61,1.0,0.61,best-fit funder needs referrer route (Corporación de Fomento de la Producción (CORFO))
+icare_0045,"Promote organic, regenerative and agroecological agriculture",afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+icare_0050,Accelerate the adoption of Agroforestry',afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+icare_0069,Complete ecological and agroclimatic mapping,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+icare_0099,Increase local participation in Agroecological Certification,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+icare_0101,Accelerate the adoption of Zero Emission Agricultural Machin,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+icare_0122,Establish eco-parks.,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+icare_0127,Improve Accelerate Environmental Regularization of Rural Pro,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+icare_0128,Establish Municipal Programs for Payment for Environmental S,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+icare_0131,Prioritize Procurement of Locally Produced Agroecological Pr,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+icare_0132,Encourage Local Agroecological Production and Short Supply C,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+c40_0042,Expand urban and peri-urban green spaces,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+ipcc_0028,"Behavioral Changes for Reduced Waste (e.g., Food)",afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+ipcc_0034,Promote consumer behavior focused on sufficiency and reduced,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+ipcc_0052,Reduce Deforestation and Degradation,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+ipcc_0053,"Implement afforestation, reforestation, and forest ecosystem",afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+ipcc_0054,Adopt sustainable forest management practices,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+ipcc_0055,"Implement fire management in forests, grasslands, and savann",afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+ipcc_0056,Reduce and prevent degradation and conversion of Grasslands ,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+ipcc_0057,Restore degraded peatlands and prevent further conversion or,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+ipcc_0060,Protect and Restore Coastal Wetlands,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+ipcc_0062,Create partnerships to implement biochar plants.,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+ipcc_0064,Reduce methane emissions from enteric fermentation in livest,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+ipcc_0067,Improve manure management and crop nutrient practices,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+ipcc_0068,Pilot Bioenergy with Carbon Capture in Partnership with Util,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+ipcc_0069,Promote sustainable and healthy diets,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+ipcc_0070,Reduce food loss and waste,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
+ipcc_0071,Increase sustainable use of wood products,afolu,0.1133,Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,1.0,1.0,match
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/valdivia_funders_open.csv b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/valdivia_funders_open.csv
new file mode 100644
index 0000000..e77a415
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/data/source/valdivia_funders_open.csv
@@ -0,0 +1,79 @@
+program,funder,role,cf_score,eligible_actor
+FPR 2026 - Fondo para el Reciclaje,Ministerio del Medio Ambiente (MMA),applicant,1.0,municipality
+FPR 2025 – Fondo para el Reciclaje 2025,Ministerio del Medio Ambiente (MMA),applicant,1.0,municipality
+FPR 2024 – Fondo para el Reciclaje 2024,Ministerio del Medio Ambiente (MMA),applicant,1.0,municipality
+FPR 2023 – Fondo para el Reciclaje,Ministerio del Medio Ambiente (MMA),applicant,1.0,municipality
+FPR 2022 Exequiel Estay – Recicladores de Base,Ministerio del Medio Ambiente (MMA),applicant,1.0,municipality
+FPR 2021 Exequiel Estay – Recicladores de Base,Ministerio del Medio Ambiente (MMA),applicant,1.0,municipality
+FPR 2020 – Promoviendo la economía circular en municipios a través del reciclaje,Ministerio del Medio Ambiente (MMA),applicant,1.0,municipality
+FPR 2020 Exequiel Estay – Recicladores de Base,Ministerio del Medio Ambiente (MMA),applicant,1.0,municipality
+FPR 2020 – Fondo para el Reciclaje Chiloé 2020,Ministerio del Medio Ambiente (MMA),applicant,1.0,municipality
+Asistencia Técnica para Municipios en Gestión Energética Local,"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,municipality
+Parque Solar Comunitario,"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,municipality + community (joint ownership)
+Mejor Escuela (energías renovables / acond. térmico escuelas),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,1.0,school sostenedor (often municipal)
+Programa de Mejoramiento Urbano y Equipamiento Comunal (PMU),SUBDERE (Subsecretaría de Desarrollo Regional y Administrativo),applicant,1.0,municipality
+Programa de Mejoramiento de Barrios (PMB),SUBDERE,applicant,1.0,municipality + municipal associations
+Programa de Prevención y Mitigación de Riesgos (PMR),SUBDERE,applicant,1.0,municipality
+Fondo de Recuperación de Ciudades (FRC),SUBDERE,applicant,1.0,municipality / regional
+Programa Concursable de Espacios Públicos,MINVU (Ministerio de Vivienda y Urbanismo),applicant,1.0,municipality (alcalde presents; community/SEREMI may originate)
+Parques Urbanos (construcción y conservación),MINVU,applicant,1.0,municipality (SEREMI prioritises construction)
+Pavimentación Participativa,MINVU,applicant,1.0,municipality + comités de pavimentación
+Programa de Recuperación de Barrios (Quiero Mi Barrio),MINVU,applicant,1.0,municipality (with community)
+FNDR — Inversión Regional (Glosa 03 / SNI),Gobiernos Regionales (16) + SUBDERE / Min. Interior,applicant,1.0,municipality / regional government / public services (projects via SNI-BIP)
+FRIL — Fondo Regional de Iniciativa Local,Gobiernos Regionales,applicant,1.0,municipality
+FPA 2025 – TSEJ comuna de Tocopilla,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2025 – TSEJ comuna de Mejillones,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2025 – Conservando y protegiendo la fauna silvestre (Centros de Rehabilitación o Rescate),Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2024 – Conservación del Pudú en la provincia de Chiloé,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+"FPA 2024 – Iniciativas Ciudadanas TSEJ, comuna de Huasco",Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+"FPA 2024 – Iniciativas Ciudadanas TSEJ, Concón, Quintero y Puchuncaví",Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+"FPA 2024 – Iniciativas Ciudadanas TSEJ, comuna de Coronel",Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2024 – Fortalecimiento de Centros de Rehabilitación o Rescate de Fauna Silvestre,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2024 – Educación Ambiental para la Prevención de Incendios Forestales y Protección de la Biodiversidad,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2024 – Fortalecimiento para recicladores de base,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2024 – Programa Modelo para la Formación de Líderes Ambientales Comunitarios,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2024 – Chiloé Reduce en tu Establecimiento Educacional,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2023 – Concurso EcoDesafíos,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2023 – Emprendimientos Circulares para Comunidades Chilotas,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2023 – Proyectos Sustentables en Establecimientos Educacionales,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2023 – Proyectos Sustentables Ciudadanos,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2022 – Rapa Nui Sustentable,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2022 – Conservación de Humedales Urbanos,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2022 – Iniciativas Sustentables en Establecimientos Educacionales,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2022 – Iniciativas Sustentables Ciudadanas,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2021 – Iniciativas Sustentables en Establecimientos Educacionales,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2021 – Conservación de Humedales Urbanos,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2021 – Iniciativas Sustentables Ciudadanas,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2021 – 2º Concurso FPA Rapa Nui Sustentable,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2020 – Iniciativas Sustentables en Establecimientos Educacionales,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2020 – Iniciativas Sustentables Ciudadanas,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2020 – Conservación Áreas Marinas Protegidas,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2020 – Educación Ambiental al Aire Libre en la Región Metropolitana,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+FPA 2020 – Rapa Nui Sustentable,Ministerio del Medio Ambiente (MMA),applicant,0.8,unspecified
+Comuna Energética,"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",applicant,0.8,municipality
+Casa Solar,"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",facilitator,0.56,household (municipally facilitated)
+FPA 2026 - Proyectos Sustentables Ciudadanos,Ministerio del Medio Ambiente (MMA),referrer,0.3,community/citizen org
+FPA 2026 - Proyectos Sustentables en Establecimientos Educacionales,Ministerio del Medio Ambiente (MMA),referrer,0.3,community/citizen org
+FPA 2026 - Proyectos Sustentables para Pueblos Indígenas,Ministerio del Medio Ambiente (MMA),referrer,0.3,indigenous community
+FPA Extraordinario Rapa Nui 2026,Ministerio del Medio Ambiente (MMA),referrer,0.3,indigenous community
+FPA 2025 - Alto del Carmen: Ecosistemas Altoandinos – Humedales y Criósfera,Ministerio del Medio Ambiente (MMA),referrer,0.3,research/university + ngo
+FPA 2025 - Alto del Carmen: Ecosistemas Altoandinos – Biodiversidad,Ministerio del Medio Ambiente (MMA),referrer,0.3,research/university + ngo
+FPA 2023 – Proyectos Sustentables para Pueblos Indígenas,Ministerio del Medio Ambiente (MMA),referrer,0.3,indigenous community
+FPA 2022 – Emprendimientos Verdes para Comunidades Indígenas,Ministerio del Medio Ambiente (MMA),referrer,0.3,indigenous community
+FPA 2022 – Áreas Verdes Comunitarias,Ministerio del Medio Ambiente (MMA),referrer,0.3,community/citizen org
+FPA 2022 – Iniciativas Sustentables para Fundaciones y Corporaciones,Ministerio del Medio Ambiente (MMA),referrer,0.3,community/citizen org
+FPA 2022 – Iniciativas Sustentables para Pueblos Indígenas,Ministerio del Medio Ambiente (MMA),referrer,0.3,indigenous community
+FPA 2021 – Iniciativas Sustentables Fundaciones y Corporaciones,Ministerio del Medio Ambiente (MMA),referrer,0.3,community/citizen org
+FPA 2021 – Áreas Verdes Comunitarias,Ministerio del Medio Ambiente (MMA),referrer,0.3,community/citizen org
+FPA 2021 – Iniciativas Sustentables para Pueblos Indígenas,Ministerio del Medio Ambiente (MMA),referrer,0.3,indigenous community
+FPA 2020 – Iniciativas en Áreas Verdes Comunitarias,Ministerio del Medio Ambiente (MMA),referrer,0.3,community/citizen org
+FPA 2020 – Iniciativas Sustentables Pueblos Indígenas,Ministerio del Medio Ambiente (MMA),referrer,0.3,indigenous community
+"Recambio de Calefactores (programa permanente, comunas con PDA)",Ministerio del Medio Ambiente (MMA),referrer,0.3,household
+Fondo de Acceso a la Energía (FAE),"Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",referrer,0.3,community/citizen org (rol público comunitario >5 yrs; not municipalities directly)
+FNDR 8% — Subvención a actividades (línea Medio Ambiente y educación ambiental),Gobiernos Regionales,referrer,0.3,non-profit organisations (legal status >=2 yrs; NOT municipalities)
+FRPD — Fondo Regional para la Productividad y el Desarrollo,Gobiernos Regionales,referrer,0.3,legal persons / firms / institutions (productive investment; varies by region)
+Crédito Verde,Corporación de Fomento de la Producción (CORFO),referrer,0.3,private firm (any size; no annual-sales cap)
+Programa Expande,Corporación de Fomento de la Producción (CORFO),referrer,0.3,private firm / growth-stage venture
+Garantías / Coberturas CORFO (e.g. FOGAIN),Corporación de Fomento de la Producción (CORFO),referrer,0.3,private firm / SME
+Financiamiento Hidrógeno Verde (facilidades / Fondo H2V),Corporación de Fomento de la Producción (CORFO),referrer,0.3,green-hydrogen project developers / firms
+Innova Chile — I+D e innovación (clean-tech),Corporación de Fomento de la Producción (CORFO),referrer,0.3,private firm / entrepreneur
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/next.config.mjs b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/next.config.mjs
new file mode 100644
index 0000000..e83c0b2
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/next.config.mjs
@@ -0,0 +1,6 @@
+/** @type {import('next').NextConfig} */
+const nextConfig = {
+ reactStrictMode: true,
+ devIndicators: false,
+};
+export default nextConfig;
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/package-lock.json b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/package-lock.json
new file mode 100644
index 0000000..f8fd9fc
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/package-lock.json
@@ -0,0 +1,963 @@
+{
+ "name": "city-readiness-navigator",
+ "version": "0.1.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "city-readiness-navigator",
+ "version": "0.1.0",
+ "dependencies": {
+ "next": "^15",
+ "react": "^19",
+ "react-dom": "^19"
+ },
+ "devDependencies": {
+ "@types/node": "^22",
+ "@types/react": "^19",
+ "@types/react-dom": "^19",
+ "typescript": "^5"
+ }
+ },
+ "node_modules/@emnapi/runtime": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.0.tgz",
+ "integrity": "sha512-55coeOFKHv1ywEcUXJtWU5f+Jr/W5tZDvZig8DLKSwUN1JpROQ4rk/SNOQiFWmaR/VKF4zuFyW1B8JduOSv6Pg==",
+ "license": "MIT",
+ "optional": true,
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@img/colour": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz",
+ "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==",
+ "license": "MIT",
+ "optional": true,
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@img/sharp-darwin-arm64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz",
+ "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-darwin-arm64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-darwin-x64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz",
+ "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-darwin-x64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-libvips-darwin-arm64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz",
+ "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-darwin-x64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz",
+ "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-arm": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz",
+ "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==",
+ "cpu": [
+ "arm"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-arm64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz",
+ "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-ppc64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz",
+ "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-riscv64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz",
+ "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==",
+ "cpu": [
+ "riscv64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-s390x": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz",
+ "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==",
+ "cpu": [
+ "s390x"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linux-x64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz",
+ "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linuxmusl-arm64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz",
+ "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-libvips-linuxmusl-x64": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz",
+ "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-linux-arm": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz",
+ "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==",
+ "cpu": [
+ "arm"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-arm": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-arm64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz",
+ "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-arm64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-ppc64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz",
+ "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-ppc64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-riscv64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz",
+ "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==",
+ "cpu": [
+ "riscv64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-riscv64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-s390x": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz",
+ "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==",
+ "cpu": [
+ "s390x"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-s390x": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linux-x64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz",
+ "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linux-x64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linuxmusl-arm64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz",
+ "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linuxmusl-arm64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-linuxmusl-x64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz",
+ "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-libvips-linuxmusl-x64": "1.2.4"
+ }
+ },
+ "node_modules/@img/sharp-wasm32": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz",
+ "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==",
+ "cpu": [
+ "wasm32"
+ ],
+ "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
+ "optional": true,
+ "dependencies": {
+ "@emnapi/runtime": "^1.7.0"
+ },
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-win32-arm64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz",
+ "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-win32-ia32": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz",
+ "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==",
+ "cpu": [
+ "ia32"
+ ],
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@img/sharp-win32-x64": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz",
+ "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "Apache-2.0 AND LGPL-3.0-or-later",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ }
+ },
+ "node_modules/@next/env": {
+ "version": "15.5.19",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-15.5.19.tgz",
+ "integrity": "sha512-sWWluFvcv5v3Fxznmf2ZfjyoVQt/64oCnYqS90inQWGzMPK1VjvekPiz3OPHKmFT30EnHrjlbyaHLt3M0vWabw==",
+ "license": "MIT"
+ },
+ "node_modules/@next/swc-darwin-arm64": {
+ "version": "15.5.19",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.5.19.tgz",
+ "integrity": "sha512-jx9wWlTKueHKPvVOndyr7WuaevWCkuYqsQ8gC0TMPKAVWG3MhcdMrjfo9tvIZNXd0QOUYXXvAcZ325y8Uq7uzg==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-darwin-x64": {
+ "version": "15.5.19",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.5.19.tgz",
+ "integrity": "sha512-291KFcsIQ3OenRdiUDFOR6W3wezzH4auENXm1gbm1Bjd4ANMMRgxPrWTUztQN43BnVoVuMnHCrLeECIMwgFKbA==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-arm64-gnu": {
+ "version": "15.5.19",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.5.19.tgz",
+ "integrity": "sha512-WeH+nelQyyMeE2f8FxBRZNrGipya5zHZV2vjzfCOAYyiI6am+NbnWAAldOBFQBB2w0DjJcsvrKqoFT2b7+5YoA==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-arm64-musl": {
+ "version": "15.5.19",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.5.19.tgz",
+ "integrity": "sha512-5xTOE0lDlDCSSfp+BAif7j17VRRCjWp//ZPZy6NI0QpdrhxtQnsZguSx0xAAZ0c9XZLrLLwCe/XVe5YPrRilKw==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-x64-gnu": {
+ "version": "15.5.19",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.5.19.tgz",
+ "integrity": "sha512-LTxRmMgqqMv05Had879W00Fm53quiJd3Zuz8h1JSNJ3nGSlbZ/7Tjs1tKyScgN3Au3t3MyPsjPlq60fMmSHLsg==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-x64-musl": {
+ "version": "15.5.19",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.5.19.tgz",
+ "integrity": "sha512-eoNQSpA5PQfB9wBO4RA47MTDXWz1fizy9Y3Z6e4DetYIF3dvjuu8sj7aIGn/bFCU6lnFzTK34NtCaffP4NsQ7Q==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-arm64-msvc": {
+ "version": "15.5.19",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.5.19.tgz",
+ "integrity": "sha512-6UNt2dFuCHOe446sm/Kp69nUe8/wIhnh9bm6Xcqw4qEWCOppLMOvhTBVgvM7invVUNr4SPpP6NOQsACtn2IN9Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-x64-msvc": {
+ "version": "15.5.19",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.5.19.tgz",
+ "integrity": "sha512-PhmojAHyqMne56HBLGu9dhDnHPuFmEjrXSQMM/nW0J6j849lk3ESrVtqNJcCk8CKOV7brpTTbaYAjwKPzKM69w==",
+ "cpu": [
+ "x64"
+ ],
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@swc/helpers": {
+ "version": "0.5.15",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz",
+ "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.8.0"
+ }
+ },
+ "node_modules/@types/node": {
+ "version": "22.19.21",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.21.tgz",
+ "integrity": "sha512-VMeFBSCKQKmm2swI2kW51SFusDqekC6q9trBCvJ/JliDchFSuoYYKN7yVNjPthP1HKZcx3U1gI/wTcEBjEFKTA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "undici-types": "~6.21.0"
+ }
+ },
+ "node_modules/@types/react": {
+ "version": "19.2.17",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.17.tgz",
+ "integrity": "sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "csstype": "^3.2.2"
+ }
+ },
+ "node_modules/@types/react-dom": {
+ "version": "19.2.3",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz",
+ "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "@types/react": "^19.2.0"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001799",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001799.tgz",
+ "integrity": "sha512-hG1bReV+OUU+MOqK4t/ZWI0tZOyz3rqS9XuhOUz1cIcbwBKjOyJEJuw9ER5JuNyqxNk8u/JUVbGibBOL1yrjFw==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/client-only": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
+ "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==",
+ "license": "MIT"
+ },
+ "node_modules/csstype": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
+ "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/detect-libc": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
+ "license": "Apache-2.0",
+ "optional": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.12",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz",
+ "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/next": {
+ "version": "15.5.19",
+ "resolved": "https://registry.npmjs.org/next/-/next-15.5.19.tgz",
+ "integrity": "sha512-xNOW6tYshGX1/Oi3F8uuk4gpDeWsSUE/1Z0G5uUMekIxaQ0xc03UXd9II0VQHYMWviMeA0OHpJFAKsHf8bTYVg==",
+ "license": "MIT",
+ "dependencies": {
+ "@next/env": "15.5.19",
+ "@swc/helpers": "0.5.15",
+ "caniuse-lite": "^1.0.30001579",
+ "postcss": "8.4.31",
+ "styled-jsx": "5.1.6"
+ },
+ "bin": {
+ "next": "dist/bin/next"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^19.8.0 || >= 20.0.0"
+ },
+ "optionalDependencies": {
+ "@next/swc-darwin-arm64": "15.5.19",
+ "@next/swc-darwin-x64": "15.5.19",
+ "@next/swc-linux-arm64-gnu": "15.5.19",
+ "@next/swc-linux-arm64-musl": "15.5.19",
+ "@next/swc-linux-x64-gnu": "15.5.19",
+ "@next/swc-linux-x64-musl": "15.5.19",
+ "@next/swc-win32-arm64-msvc": "15.5.19",
+ "@next/swc-win32-x64-msvc": "15.5.19",
+ "sharp": "^0.34.3"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": "^1.1.0",
+ "@playwright/test": "^1.51.1",
+ "babel-plugin-react-compiler": "*",
+ "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
+ "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0",
+ "sass": "^1.3.0"
+ },
+ "peerDependenciesMeta": {
+ "@opentelemetry/api": {
+ "optional": true
+ },
+ "@playwright/test": {
+ "optional": true
+ },
+ "babel-plugin-react-compiler": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "license": "ISC"
+ },
+ "node_modules/postcss": {
+ "version": "8.4.31",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
+ "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.6",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/react": {
+ "version": "19.2.7",
+ "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz",
+ "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-dom": {
+ "version": "19.2.7",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz",
+ "integrity": "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==",
+ "license": "MIT",
+ "dependencies": {
+ "scheduler": "^0.27.0"
+ },
+ "peerDependencies": {
+ "react": "^19.2.7"
+ }
+ },
+ "node_modules/scheduler": {
+ "version": "0.27.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
+ "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
+ "license": "MIT"
+ },
+ "node_modules/semver": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz",
+ "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==",
+ "license": "ISC",
+ "optional": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/sharp": {
+ "version": "0.34.5",
+ "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz",
+ "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==",
+ "hasInstallScript": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "dependencies": {
+ "@img/colour": "^1.0.0",
+ "detect-libc": "^2.1.2",
+ "semver": "^7.7.3"
+ },
+ "engines": {
+ "node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/libvips"
+ },
+ "optionalDependencies": {
+ "@img/sharp-darwin-arm64": "0.34.5",
+ "@img/sharp-darwin-x64": "0.34.5",
+ "@img/sharp-libvips-darwin-arm64": "1.2.4",
+ "@img/sharp-libvips-darwin-x64": "1.2.4",
+ "@img/sharp-libvips-linux-arm": "1.2.4",
+ "@img/sharp-libvips-linux-arm64": "1.2.4",
+ "@img/sharp-libvips-linux-ppc64": "1.2.4",
+ "@img/sharp-libvips-linux-riscv64": "1.2.4",
+ "@img/sharp-libvips-linux-s390x": "1.2.4",
+ "@img/sharp-libvips-linux-x64": "1.2.4",
+ "@img/sharp-libvips-linuxmusl-arm64": "1.2.4",
+ "@img/sharp-libvips-linuxmusl-x64": "1.2.4",
+ "@img/sharp-linux-arm": "0.34.5",
+ "@img/sharp-linux-arm64": "0.34.5",
+ "@img/sharp-linux-ppc64": "0.34.5",
+ "@img/sharp-linux-riscv64": "0.34.5",
+ "@img/sharp-linux-s390x": "0.34.5",
+ "@img/sharp-linux-x64": "0.34.5",
+ "@img/sharp-linuxmusl-arm64": "0.34.5",
+ "@img/sharp-linuxmusl-x64": "0.34.5",
+ "@img/sharp-wasm32": "0.34.5",
+ "@img/sharp-win32-arm64": "0.34.5",
+ "@img/sharp-win32-ia32": "0.34.5",
+ "@img/sharp-win32-x64": "0.34.5"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/styled-jsx": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz",
+ "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==",
+ "license": "MIT",
+ "dependencies": {
+ "client-only": "0.0.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "peerDependencies": {
+ "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0"
+ },
+ "peerDependenciesMeta": {
+ "@babel/core": {
+ "optional": true
+ },
+ "babel-plugin-macros": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "license": "0BSD"
+ },
+ "node_modules/typescript": {
+ "version": "5.9.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "6.21.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
+ "dev": true,
+ "license": "MIT"
+ }
+ }
+}
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/package.json b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/package.json
new file mode 100644
index 0000000..34d8176
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/package.json
@@ -0,0 +1,23 @@
+{
+ "name": "city-readiness-navigator",
+ "version": "0.1.0",
+ "private": true,
+ "scripts": {
+ "dev": "next dev",
+ "build": "next build",
+ "start": "next start",
+ "build:data": "node scripts/build-data.mjs",
+ "build:brazil": "node scripts/build-brazil.mjs"
+ },
+ "dependencies": {
+ "next": "^15",
+ "react": "^19",
+ "react-dom": "^19"
+ },
+ "devDependencies": {
+ "@types/node": "^22",
+ "@types/react": "^19",
+ "@types/react-dom": "^19",
+ "typescript": "^5"
+ }
+}
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/scripts/build-brazil.mjs b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/scripts/build-brazil.mjs
new file mode 100644
index 0000000..e59e19b
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/scripts/build-brazil.mjs
@@ -0,0 +1,92 @@
+// Brazil Fiscal Data Adapter — transforms CAPAG (Tesouro Nacional) into readiness
+// inputs. Reads vendored RS source (data/source/), emits src/data/brazil.json:
+// a state map (RS municipalities by CAPAG tier) + Canoas hero detail.
+// Run: npm run build:brazil
+import fs from "fs";
+import path from "path";
+import { fileURLToPath } from "url";
+
+const __dirname = path.dirname(fileURLToPath(import.meta.url));
+const SRC = path.join(__dirname, "..", "data", "source");
+const OUT = path.join(__dirname, "..", "src", "data", "brazil.json");
+
+const recs = JSON.parse(fs.readFileSync(path.join(SRC, "capag_rs.json"), "utf8"));
+const cen = JSON.parse(fs.readFileSync(path.join(SRC, "centroids_rs.json"), "utf8"));
+const r = Math.round;
+
+// CAPAG rating → 0-100 (A+ best). Real Treasury creditworthiness.
+const CAPAG_SCORE = { "A+": 92, A: 82, "B+": 74, B: 64, C: 38, D: 18 };
+const NOTA = { A: 85, B: 60, C: 35 }; // the 3 fiscal indicators
+const ICF = { Aicf: 90, Bicf: 70, Cicf: 45, Dicf: 20, Eicf: 15 };
+const BANKABLE = new Set(["A+", "A", "B+", "B"]); // eligible for Union-guaranteed credit
+
+function tierOf(capag) {
+ if (BANKABLE.has(capag)) return "bankable";
+ if (capag === "C" || capag === "D") return "constrained";
+ return "unrated"; // n.d. / n.e. / null
+}
+
+// CAPAG → the four readiness pillars (the Brazil adapter).
+function toReadiness(rec) {
+ const credit = CAPAG_SCORE[rec.capag] ?? null;
+ const notas = [rec.nota1, rec.nota2, rec.nota3].map((n) => NOTA[n]).filter((x) => x != null);
+ const fiscal = notas.length ? r(notas.reduce((a, b) => a + b, 0) / notas.length) : null;
+ const icf = ICF[rec.icf] ?? 40;
+ const transparency = rec.publicou_rgf === "Sim" && rec.publicou_rreo === "Sim" ? 5 : 0;
+ return {
+ creditworthiness: credit ?? 30,
+ fiscalHealth: fiscal ?? 40,
+ governance: Math.min(100, icf + transparency),
+ legalCapacity: BANKABLE.has(rec.capag) ? 75 : 38,
+ };
+}
+
+const heroName = "Canoas";
+const heroRec = recs.find((x) => x.municipio === heroName);
+
+// State map: every RS municipality with a centroid, by CAPAG tier.
+const stateMap = recs
+ .filter((x) => cen[String(x.cod_ibge)])
+ .map((x) => {
+ const [lat, lon] = cen[String(x.cod_ibge)];
+ return { name: x.municipio, codIbge: String(x.cod_ibge), capag: x.capag, tier: tierOf(x.capag), lat, lon, isHero: x.municipio === heroName };
+ });
+
+// Hero detail (same SNG record shape the engine scores).
+const readiness = toReadiness(heroRec);
+const hero = {
+ id: `SNG-BR-${heroRec.cod_ibge}`,
+ name: heroName, locode: `IBGE ${heroRec.cod_ibge}`, cityId: heroRec.cod_ibge,
+ country: "Brazil", iso: "BR", type: "City", population: 347000,
+ isAnchor: false, cofinanceScore: null, anchorScore: null,
+ readiness,
+ provenance: {
+ creditworthiness: `real:CAPAG rating ${heroRec.capag} (Tesouro Nacional)`,
+ fiscalHealth: `real:CAPAG indicators (debt ${heroRec.nota1} · savings ${heroRec.nota2} · liquidity ${heroRec.nota3})`,
+ governance: `real:CAPAG ICF ${heroRec.icf} + transparency (RGF/RREO)`,
+ legalCapacity: `real:CAPAG ${heroRec.capag} — ${BANKABLE.has(heroRec.capag) ? "eligible for" : "blocked from"} Union-guaranteed credit`,
+ },
+ signals: {
+ capagRating: heroRec.capag,
+ ownSourceRevenuePct: null, debtServiceRatioPct: null, currentBalancePct: null,
+ independentAudit: ["Aicf", "Bicf"].includes(heroRec.icf),
+ canBorrowWithoutSovereignGuarantee: BANKABLE.has(heroRec.capag),
+ },
+ capag: { rating: heroRec.capag, ind1: heroRec.ind1_endividamento, nota1: heroRec.nota1, ind2: heroRec.ind2_poupanca, nota2: heroRec.nota2, ind3: heroRec.ind3_liquidez, nota3: heroRec.nota3, icf: heroRec.icf },
+ proposal: { title: "Flood resilience & drainage program (post-2024)", sector: "water / resilience", askUSDm: 45, stage: "Readiness Review", cofinance: false },
+};
+
+const out = {
+ generated: "2026-06-14",
+ source: "CAPAG — Tesouro Nacional (ODbL), via the CAPAG Funder Scan hackday team (Joaquin van Peborgh, Carole Viaene). Screening signal, not a credit decision.",
+ scope: { country: "Brazil", region: "Rio Grande do Sul (RS)", note: "state hit by the catastrophic 2024 floods" },
+ hero, stateMap,
+ legend: [
+ { tier: "bankable", label: "CAPAG A/B — bankable (guaranteed credit)", count: stateMap.filter((c) => c.tier === "bankable").length },
+ { tier: "constrained", label: "CAPAG C/D — creditless (grants / blended)", count: stateMap.filter((c) => c.tier === "constrained").length },
+ { tier: "unrated", label: "n.d. — unrated (TA first)", count: stateMap.filter((c) => c.tier === "unrated").length },
+ ],
+};
+fs.writeFileSync(OUT, JSON.stringify(out, null, 2));
+console.log("Wrote brazil.json — hero", heroName, JSON.stringify(readiness), "· map", stateMap.length, "munis");
+console.log("legend:", out.legend.map((l) => `${l.tier}=${l.count}`).join(" "));
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/scripts/build-data.mjs b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/scripts/build-data.mjs
new file mode 100644
index 0000000..f4e1006
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/scripts/build-data.mjs
@@ -0,0 +1,97 @@
+// Reproducible: transforms the City-Funder Matching Engine's capacity CSVs
+// (vendored under data/source/) into src/data/valdivia.json — the readiness
+// inputs for the app. Run: npm run build:data
+import fs from "fs";
+import path from "path";
+import { fileURLToPath } from "url";
+
+const __dirname = path.dirname(fileURLToPath(import.meta.url));
+const SRC = path.join(__dirname, "..", "data", "source");
+const OUT = path.join(__dirname, "..", "src", "data", "valdivia.json");
+
+const readCsv = (f) => {
+ const lines = fs.readFileSync(path.join(SRC, f), "utf8").trim().split("\n");
+ const hdr = lines[0].split(",");
+ return lines.slice(1).map((l) => {
+ const cells = []; let cur = "", q = false;
+ for (const ch of l) { if (ch === '"') q = !q; else if (ch === "," && !q) { cells.push(cur); cur = ""; } else cur += ch; }
+ cells.push(cur);
+ return Object.fromEntries(hdr.map((h, i) => [h, cells[i]]));
+ });
+};
+const num = (v) => (v === "" || v == null ? null : Number(v));
+const r = Math.round;
+
+const units = readCsv("coordination_units_u11.csv");
+const cap = readCsv("comuna_capacity_scores_u11.csv");
+const capByLocode = Object.fromEntries(cap.map((c) => [c.locode, c]));
+
+// --- Transparent mapping: Matching Engine capacity -> 4 readiness pillars (0-100) ---
+function toReadiness(u) {
+ const c = capByLocode[u.locode] || {};
+ const capScore = num(c.composite_score); // REAL: SINIM/FCM municipal capacity composite
+ const prof = num(c.professionalization_pct_2023); // REAL: SINIM professionalization
+ const fcm = num(c.fcm_dependency_pct); // REAL: FCM transfer dependency
+ const isAnchor = u.is_anchor === "True";
+ const fiscalAutonomy = fcm == null ? null : 100 - fcm;
+ const readiness = {
+ fiscalHealth: capScore == null ? 40 : r(capScore),
+ governance: prof == null || capScore == null ? 40 : r(0.5 * prof + 0.5 * capScore),
+ creditworthiness: capScore == null ? 35 : r(capScore * 0.95),
+ legalCapacity: isAnchor ? 80 : 45,
+ };
+ return {
+ id: `SNG-${u.locode.replace(/\s/g, "")}`,
+ name: u.comuna, locode: u.locode || null, cityId: c.city_id || null,
+ country: "Chile", iso: "CL", type: "City", population: num(c.population),
+ isAnchor, cofinanceScore: num(u.cofinance_score), anchorScore: num(u.anchor_score),
+ readiness,
+ provenance: {
+ fiscalHealth: "real:SINIM/FCM (composite_score)",
+ governance: "real:SINIM (professionalization + capacity)",
+ creditworthiness: "estimated:capacity proxy (no CL municipal rating)",
+ legalCapacity: "intake:legal opinion",
+ },
+ signals: {
+ capagRating: null,
+ ownSourceRevenuePct: fiscalAutonomy == null ? null : r(fiscalAutonomy),
+ debtServiceRatioPct: null, currentBalancePct: null,
+ independentAudit: isAnchor, canBorrowWithoutSovereignGuarantee: isAnchor,
+ },
+ proposal: { title: "Zero-emission urban transport (e-bus + BRT)", sector: "transport", askUSDm: isAnchor ? 8 : 3, stage: "Readiness Review", cofinance: false },
+ };
+}
+const comunas = units.map(toReadiness);
+
+const fundersAll = readCsv("valdivia_funders_open.csv");
+const byRole = (role) => fundersAll.filter((f) => f.role === role);
+const funders = {
+ counts: { applicant: byRole("applicant").length, facilitator: byRole("facilitator").length, referrer: byRole("referrer").length, total: fundersAll.length },
+ sample: fundersAll.slice(0, 14).map((f) => ({ program: f.program, funder: f.funder, role: f.role, eligibleActor: f.eligible_actor })),
+};
+
+const actions = readCsv("valdivia_action_matches.csv");
+const transport = actions.filter((a) => (a.sector || "").toLowerCase().includes("transport"));
+const transportGap = {
+ nActions: transport.length,
+ bestFit: transport[0] ? Number(transport[0].combined) : null,
+ bestFunder: transport[0] ? transport[0].best_funder : null,
+ actions: transport.map((a) => ({ id: a.action_id, action: a.action, combined: Number(a.combined), verdict: a.verdict })),
+};
+
+const bundles = readCsv("unit_bundle_candidates_u11.csv");
+const tb = bundles.find((b) => (b.sector || "").toLowerCase().includes("transport")) || bundles[0] || null;
+const pool = {
+ unitId: 11, anchor: "Valdivia", anchorLocode: "CL ZAL", unitSize: 6,
+ members: comunas.map((c) => ({ name: c.name, locode: c.locode, cofinanceScore: c.cofinanceScore, isAnchor: c.isAnchor })),
+ bundle: tb ? { sector: tb.sector, coordinationTier: tb.coordination_tier, instrumentClass: tb.instrument_class, actorRoute: tb.actor_route, feasible: tb.bundle_feasible } : null,
+ pooledProposal: { title: "Los Ríos zero-emission transport program (6-comuna bundle)", sector: "transport", askUSDm: 30, stage: "Structuring", cofinance: true },
+};
+
+const out = {
+ generated: "2026-06-12",
+ source: "City-Funder Matching Engine (Amanda/Ayinawu/Brian/Cephas) — derived/ CSVs; capacity from SINIM/FCM, locode-keyed",
+ heroCity: "Valdivia", heroLocode: "CL ZAL", comunas, funders, transportGap, pool,
+};
+fs.writeFileSync(OUT, JSON.stringify(out, null, 2));
+console.log("Wrote", path.relative(process.cwd(), OUT), "—", comunas.length, "comunas");
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/app/api/submissions/route.ts b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/app/api/submissions/route.ts
new file mode 100644
index 0000000..6f66a58
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/app/api/submissions/route.ts
@@ -0,0 +1,17 @@
+import { NextResponse } from "next/server";
+import { dossiers, type Dossier } from "@/lib/store";
+
+export async function GET() {
+ return NextResponse.json(dossiers);
+}
+
+export async function POST(req: Request) {
+ const body = await req.json();
+ const rec: Dossier = {
+ ...body,
+ id: `DOS-${Math.random().toString(36).slice(2, 8).toUpperCase()}`,
+ submittedAt: new Date().toISOString(),
+ };
+ dossiers.unshift(rec);
+ return NextResponse.json(rec);
+}
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/app/globals.css b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/app/globals.css
new file mode 100644
index 0000000..7af3ec8
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/app/globals.css
@@ -0,0 +1,172 @@
+:root {
+ --cc-blue: #2351dc; /* CityCatalyst content blue */
+ --cc-blue-dark: #001ea7;
+ --cc-blue-tint: #e8eafb;
+ --ink: #0f172a;
+ --ink-soft: #475569;
+ --line: #e2e8f0;
+ --surface: #ffffff;
+ --page: #f6f8fc;
+ --green: #2ca36a;
+ --amber: #d9942a;
+ --red: #cf4b41;
+ --radius: 12px;
+ --sans: "Open Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
+ --display: "Poppins", var(--sans);
+}
+
+* { box-sizing: border-box; }
+html, body { margin: 0; padding: 0; }
+body {
+ font-family: var(--sans);
+ color: var(--ink);
+ background: var(--page);
+ line-height: 1.5;
+}
+h1, h2, h3, h4 { font-family: var(--display); margin: 0; color: var(--ink); }
+a { color: var(--cc-blue); }
+
+.wrap { max-width: 1040px; margin: 0 auto; padding: 0 24px 64px; }
+
+/* Top bar */
+.topbar {
+ background: var(--surface);
+ border-bottom: 1px solid var(--line);
+ padding: 14px 24px;
+ display: flex; align-items: center; gap: 14px;
+ position: sticky; top: 0; z-index: 10;
+}
+.topbar .brand { font-family: var(--display); font-weight: 600; font-size: 16px; }
+.topbar .brand span { color: var(--cc-blue); }
+.topbar .spacer { flex: 1; }
+.topbar nav a { font-size: 14px; text-decoration: none; color: var(--ink-soft); margin-left: 18px; }
+.topbar nav a.active { color: var(--cc-blue); font-weight: 600; }
+.pill-tag { font-size: 11px; background: var(--cc-blue-tint); color: var(--cc-blue-dark); padding: 3px 9px; border-radius: 999px; font-weight: 600; }
+
+/* Hero / step header */
+.hero { padding: 28px 0 8px; }
+.hero h1 { font-size: 26px; font-weight: 600; }
+.hero p { color: var(--ink-soft); margin: 8px 0 0; max-width: 70ch; }
+
+/* Stepper */
+.stepper { display: flex; gap: 6px; margin: 22px 0 26px; flex-wrap: wrap; }
+.stepper .step {
+ flex: 1; min-width: 110px; border: 1px solid var(--line); border-radius: 10px;
+ background: var(--surface); padding: 10px 12px; cursor: pointer; text-align: left;
+ font: inherit; color: var(--ink-soft);
+}
+.stepper .step b { display: block; font-family: var(--display); font-size: 12px; color: var(--ink); }
+.stepper .step small { font-size: 11px; }
+.stepper .step.active { border-color: var(--cc-blue); background: var(--cc-blue-tint); }
+.stepper .step.done b::before { content: "✓ "; color: var(--green); }
+
+/* Cards */
+.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px 22px; margin-bottom: 16px; }
+.card h2 { font-size: 18px; font-weight: 600; margin-bottom: 4px; }
+.card .sub { color: var(--ink-soft); font-size: 14px; margin-bottom: 16px; }
+.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
+@media (max-width: 720px) { .grid2 { grid-template-columns: 1fr; } }
+
+.kv { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
+.kv:last-child { border-bottom: none; }
+.kv span:first-child { color: var(--ink-soft); }
+.kv span:last-child { font-weight: 600; }
+
+/* Badges */
+.badge { font-size: 11px; padding: 2px 8px; border-radius: 999px; font-weight: 600; display: inline-block; }
+.badge.real { background: #e6f4ec; color: #1c6b43; }
+.badge.estimated { background: #fdf0dd; color: #8a5a14; }
+.badge.intake { background: #eef2f7; color: #475569; }
+.badge.role-applicant { background: #e6f4ec; color: #1c6b43; }
+.badge.role-facilitator { background: #fdf0dd; color: #8a5a14; }
+.badge.role-referrer { background: #eef2f7; color: #475569; }
+
+/* Tier pills */
+.tier { font-weight: 700; padding: 3px 12px; border-radius: 999px; font-size: 13px; }
+.tier.Ready { background: #e6f4ec; color: #1c6b43; }
+.tier.Developing { background: #fdf0dd; color: #8a5a14; }
+.tier.Early { background: #fae9e7; color: #9c352c; }
+
+/* Pillars */
+.pillar { margin-bottom: 12px; }
+.pillar .top { display: flex; justify-content: space-between; align-items: center; font-size: 14px; }
+.pillar .bar { height: 8px; background: var(--cc-blue-tint); border-radius: 999px; margin-top: 6px; overflow: hidden; }
+.pillar .bar > i { display: block; height: 100%; background: var(--cc-blue); border-radius: 999px; }
+.pillar .meta { font-size: 12px; color: var(--ink-soft); margin-top: 3px; }
+
+.scorebig { font-family: var(--display); font-size: 44px; font-weight: 600; line-height: 1; }
+.scorebig small { font-size: 16px; color: var(--ink-soft); font-weight: 400; }
+
+/* Gate / checklist */
+.gate { display: flex; align-items: center; gap: 8px; padding: 6px 0; font-size: 14px; }
+.gate .dot { width: 9px; height: 9px; border-radius: 999px; flex: none; }
+.gate .dot.pass { background: var(--green); }
+.gate .dot.fail { background: var(--red); }
+
+/* Buttons */
+.btn { font: inherit; font-weight: 600; border: none; border-radius: 9px; padding: 11px 18px; cursor: pointer; background: var(--cc-blue); color: #fff; }
+.btn:hover { background: var(--cc-blue-dark); }
+.btn.secondary { background: var(--surface); color: var(--cc-blue); border: 1px solid var(--cc-blue); }
+.btn:disabled { background: #c7cfe6; cursor: not-allowed; }
+.btn-row { display: flex; gap: 10px; margin-top: 18px; align-items: center; }
+
+.note { background: var(--cc-blue-tint); border-radius: 10px; padding: 12px 14px; font-size: 13px; color: var(--cc-blue-dark); }
+.gap-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
+.tablelike { width: 100%; border-collapse: collapse; font-size: 14px; }
+.tablelike th, .tablelike td { text-align: left; padding: 8px 6px; border-bottom: 1px solid var(--line); }
+.tablelike th { font-size: 12px; color: var(--ink-soft); font-weight: 600; }
+.muted { color: var(--ink-soft); }
+.anchor-row { background: var(--cc-blue-tint); }
+.empty { color: var(--ink-soft); padding: 40px; text-align: center; }
+
+/* ---- v2.1 shell: left process menu + main ---- */
+.app-shell { display: flex; min-height: 100vh; }
+.sidebar { width: 248px; flex: none; background: var(--surface); border-right: 1px solid var(--line); padding: 18px 14px; position: sticky; top: 0; height: 100vh; overflow-y: auto; }
+.sidebar .logo { font-family: var(--display); font-weight: 600; font-size: 15px; margin-bottom: 2px; }
+.sidebar .logo span { color: var(--cc-blue); }
+.sidebar .tagline { font-size: 11px; color: var(--ink-soft); margin-bottom: 18px; }
+.sidebar .menu-label { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: #94a3b8; margin: 16px 6px 8px; }
+.navitem { display: flex; gap: 10px; align-items: flex-start; width: 100%; text-align: left; font: inherit; background: none; border: none; cursor: pointer; padding: 9px 10px; border-radius: 9px; color: var(--ink); position: relative; }
+.navitem:hover { background: #f1f5f9; }
+.navitem.active { background: var(--cc-blue-tint); }
+.navitem.active .ni-num { background: var(--cc-blue); color: #fff; border-color: var(--cc-blue); }
+.navitem:disabled { opacity: .45; cursor: not-allowed; }
+.ni-num { flex: none; width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid var(--line); display: grid; place-items: center; font-size: 11px; font-weight: 700; color: var(--ink-soft); margin-top: 1px; }
+.navitem.done .ni-num { background: #e6f4ec; color: #1c6b43; border-color: #bfe3cd; }
+.ni-text b { display: block; font-size: 13px; font-weight: 600; font-family: var(--display); }
+.ni-text small { font-size: 11px; color: var(--ink-soft); }
+.sidebar .rail { position: absolute; left: 31px; top: 0; bottom: 0; width: 1.5px; background: var(--line); z-index: 0; }
+
+.main { flex: 1; min-width: 0; padding: 26px 34px 64px; max-width: 920px; }
+.crumbs { font-size: 12px; color: var(--ink-soft); margin-bottom: 4px; }
+.h-stage { font-family: var(--display); font-size: 23px; font-weight: 600; margin-bottom: 4px; }
+.h-sub { color: var(--ink-soft); font-size: 14px; margin-bottom: 20px; max-width: 64ch; }
+
+.scopebar { display: flex; gap: 8px; margin-bottom: 16px; }
+.scopebtn { font: inherit; font-size: 13px; border: 1px solid var(--line); background: var(--surface); border-radius: 999px; padding: 7px 14px; cursor: pointer; }
+.scopebtn.active { border-color: var(--cc-blue); background: var(--cc-blue-tint); color: var(--cc-blue-dark); font-weight: 600; }
+
+#map { height: 380px; border-radius: 12px; border: 1px solid var(--line); z-index: 0; }
+.maplegend { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 10px; font-size: 12px; color: var(--ink-soft); }
+.maplegend i { display: inline-block; width: 11px; height: 11px; border-radius: 3px; margin-right: 5px; vertical-align: -1px; }
+.dot-Ready, .dot-bankable { background: #2ca36a; }
+.dot-Developing, .dot-constrained { background: #d9942a; }
+.dot-Early { background: #cf4b41; }
+.dot-unrated { background: #9aa5b1; }
+
+.pathcard { border-left: 4px solid var(--cc-blue); }
+.pathcard.ok { border-left-color: var(--green); }
+.pathcard.warn { border-left-color: var(--amber); }
+.pathcard.block { border-left-color: var(--red); }
+
+.entrytoggle { display: inline-flex; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; margin-bottom: 14px; }
+.entrytoggle button { font: inherit; font-size: 12px; padding: 7px 12px; background: var(--surface); border: none; cursor: pointer; color: var(--ink-soft); }
+.entrytoggle button.active { background: var(--cc-blue); color: #fff; }
+.agent { background: #f1f5f9; border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; margin-top: 14px; font-size: 13px; }
+.agent .who { font-weight: 600; font-size: 12px; color: var(--cc-blue-dark); display: flex; align-items: center; gap: 6px; margin-bottom: 5px; }
+.agent .sim { font-size: 10px; background: #e2e8f0; color: #475569; padding: 1px 6px; border-radius: 999px; font-weight: 600; }
+.actionrow { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
+.actionrow:last-child { border-bottom: none; }
+.atype { font-size: 10px; padding: 1px 7px; border-radius: 999px; font-weight: 600; }
+.atype.mitigation { background: #e8eafb; color: #2351dc; }
+.atype.adaptation { background: #e6f4ec; color: #1c6b43; }
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/app/layout.tsx b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/app/layout.tsx
new file mode 100644
index 0000000..03feb9d
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/app/layout.tsx
@@ -0,0 +1,27 @@
+import type { Metadata } from "next";
+import "./globals.css";
+
+export const metadata: Metadata = {
+ title: "Climate-Finance Readiness Navigator — CityCatalyst × IDB",
+ description:
+ "Get cities & regions ready to access climate finance: find a financing line, assess readiness, and submit when ready.",
+};
+
+export default function RootLayout({ children }: { children: React.ReactNode }) {
+ return (
+
+
+
+
+
+ {/* Leaflet (loaded at runtime; map degrades gracefully if offline) */}
+
+
+
+ {children}
+
+ );
+}
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/app/page.tsx b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/app/page.tsx
new file mode 100644
index 0000000..5d00fb1
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/app/page.tsx
@@ -0,0 +1,409 @@
+"use client";
+
+import { useMemo, useState } from "react";
+import Link from "next/link";
+import Sidebar, { type StageDef } from "@/components/Sidebar";
+import MapView from "@/components/MapView";
+import { SCOPES, mapPoints, scopeLegend, journeyCity, DATA } from "@/lib/adapters";
+import { SM, provenanceKind, type Scored, type Comuna } from "@/lib/engine";
+import { getCityContext, agentAssist } from "@/lib/context";
+import { assembleDossier } from "@/lib/dossier";
+import { FUNDERS, getFunder } from "@/lib/funders";
+
+const STAGES: StageDef[] = [
+ { key: "explore", title: "Explore", sub: "Region & data" },
+ { key: "context", title: "City context", sub: "From CityCatalyst" },
+ { key: "instrument", title: "Find financing", sub: "Funder · program · instrument" },
+ { key: "readiness", title: "Readiness pathways", sub: "Assess & route" },
+ { key: "portfolio", title: "Portfolio", sub: "Reach the ticket" },
+ { key: "intake", title: "Funder intake", sub: "Dossier & submit" },
+];
+
+function ProvBadge({ prov }: { prov: string }) {
+ const kind = provenanceKind(prov);
+ return {kind} ;
+}
+
+function Pillars({ city }: { city: Comuna }) {
+ const expl = SM.explainScore(city.readiness);
+ return (
+
+ {expl.map((e) => (
+
+
+
{e.label}
+
{city.readiness[e.key as keyof typeof city.readiness]}
+
+
+
{e.points} pts · {Math.round(e.weight * 100)}% weight
+
+ ))}
+
+ );
+}
+
+function pathwayOf(s: Scored): "instrument" | "pool" | "capacity-building" {
+ if (!s.canEnterProjectReview) return "capacity-building";
+ if (s.eligibility.eligible) return "instrument";
+ return "pool";
+}
+
+export default function Page() {
+ const [scopeId, setScopeId] = useState("cl-losrios");
+ const [viewLevel, setViewLevel] = useState<"cities" | "state">("cities");
+ const [cityId, setCityId] = useState(null);
+ const [entry, setEntry] = useState<"entity" | "project">("entity");
+ const [selFunderId, setSelFunderId] = useState(null);
+ const [selProgramId, setSelProgramId] = useState(null);
+ const [selInstrumentId, setSelInstrumentId] = useState(null);
+ const [portfolioMode, setPortfolioMode] = useState<"intra" | "cross">("intra");
+ const [stage, setStage] = useState(0);
+ const [maxReached, setMaxReached] = useState(0);
+ const [submitState, setSubmitState] = useState<{ id: string } | null>(null);
+ const [submitting, setSubmitting] = useState(false);
+
+ const scope = SCOPES.find((s) => s.id === scopeId)!;
+ const points = useMemo(() => mapPoints(scopeId), [scopeId]);
+ const legend = scopeLegend(scopeId);
+
+ const scored = cityId ? journeyCity(cityId) : null;
+ const ctx = cityId ? getCityContext(cityId) : null;
+ const pathway = scored ? pathwayOf(scored) : null;
+
+ const selFunder = getFunder(selFunderId);
+ const selProgram = selFunder?.programs.find((p) => p.id === selProgramId) || null;
+ const selInstrument = selProgram?.instruments.find((i) => i.id === selInstrumentId) || null;
+ const instrLabel = selProgram && selInstrument ? `${selProgram.name} · ${selInstrument.name}` : SM.activeProfile().instrument;
+
+ // Cross-city pool (Chile) and intra-city portfolio (the city's own projects).
+ const pool = scopeId === "cl-losrios" ? DATA.cl.pool : null;
+ const poolScored = scored && pool ? SM.scoreSNG({ ...(scored as any), proposal: pool.pooledProposal }) : null;
+ const intraTotal = ctx ? ctx.projects.reduce((a, p) => a + p.askUSDm, 0) : 0;
+ const intraScored = scored && ctx ? SM.scoreSNG({ ...(scored as any), proposal: { title: `${scored.name} climate portfolio`, sector: "multi-sector", askUSDm: intraTotal, stage: "Structuring", cofinance: true } }) : null;
+
+ function goto(i: number) { setStage(i); setMaxReached((m) => Math.max(m, i)); }
+ function pickCity(id: string) { setCityId(id); setSubmitState(null); setSelFunderId(null); setSelProgramId(null); setSelInstrumentId(null); goto(1); }
+
+ // Region-level summary (the "state layer").
+ const regionSummary = useMemo(() => {
+ const counts: Record = {};
+ for (const p of points) counts[p.tier] = (counts[p.tier] || 0) + 1;
+ return counts;
+ }, [points]);
+
+ async function submit() {
+ if (!scored || !pathway) return;
+ setSubmitting(true);
+ let opts: any;
+ if (pathway === "capacity-building") {
+ opts = { scored, kind: "city", pathway: "capacity-building", instrumentName: "Capacity-building / PPF + blended finance", pool: null, proposal: scored.proposal };
+ } else if (portfolioMode === "cross" && pool) {
+ opts = { scored: poolScored, kind: "pool", pathway: "pool", instrumentName: instrLabel,
+ pool: { anchor: scored.name, members: pool.members.map((m: any) => ({ name: m.name, role: m.isAnchor ? "anchor" : "member", cofinance: m.cofinanceScore })) },
+ proposal: pool.pooledProposal };
+ } else {
+ opts = { scored: intraScored, kind: "city", pathway: "instrument", pool: null, instrumentName: instrLabel,
+ proposal: { title: `${scored.name} climate portfolio (${ctx!.projects.length} projects)`, sector: "multi-sector", askUSDm: intraTotal, cofinance: true } };
+ }
+ const dossier = assembleDossier(opts);
+ const res = await fetch("/api/submissions", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(dossier) });
+ const rec = await res.json();
+ setSubmitState({ id: rec.id });
+ setSubmitting(false);
+ }
+
+ return (
+
+
+
+ {scope.country} · {scope.region} · adapter: {scope.adapter}{scored ? ` · ${scored.name}` : ""}
+
+ {/* 0 — EXPLORE */}
+ {stage === 0 && (
+ <>
+ Explore financial readiness
+ Identity & context for a city come from CityCatalyst (inventory, CCRA, HIAP, plan). Here — for the demo — pick a region and a city to open its readiness journey.
+
+
+ {SCOPES.map((s) => (
+ { setScopeId(s.id); setCityId(null); }}>
+ {s.country} · {s.region}
+
+ ))}
+
+
+
+
+ setViewLevel("state")}>State / region
+ setViewLevel("cities")}>Cities
+
+
+ Data source:{" "}
+
+ {scope.adapter}
+ Import data…
+
+
+
+
+
+
+ {legend.map((l) => {l.label} )}
+
+
+ {viewLevel === "state" ? (
+
+
{scope.region} — region readiness summary
+
Aggregate across the region (from {scope.adapter}). Useful for a GORE / state / development bank scanning where to act.
+ {Object.entries(regionSummary).map(([t, n]) => (
+
{t}{n} {n === 1 ? "city" : "cities"}
+ ))}
+
Switch to Cities to open an individual city's readiness journey.
+
+ ) : (
+
+
Open a city
+
Cities with a full readiness profile in this region:
+ {points.filter((p) => p.journeyable).map((p) => (
+
+ {p.name} · {p.capag ? `CAPAG ${p.capag}` : p.tier}
+ pickCity(p.id)}>Open →
+
+ ))}
+
+ )}
+ >
+ )}
+
+ {/* 1 — CITY CONTEXT */}
+ {stage === 1 && scored && ctx && (
+ <>
+ {scored.name}
+ Loaded from {scored.name}'s CityCatalyst context. (Live CityCatalyst MCP wiring is the seam; here it's simulated.)
+
+ setEntry("entity")}>Entity-first (a loan for the city)
+ setEntry("project")}>Project-first (fund a project)
+
+
+
+
GHG inventory
+
{ctx.inventory.source} · {ctx.inventory.year}
+ {ctx.inventory.topSectors.map((s) =>
{s.sector} {s.sharePct}%
)}
+
+
+
CCRA — climate risk
+
{ctx.ccra.source}
+ {ctx.ccra.hazards.map((h) =>
{h.hazard} {h.risk}
)}
+
+
+
HIAP priorities
+
Top prioritized climate actions
+ {ctx.hiap.map((a) =>
{a.rank}. {a.name} {a.type}
)}
+
+
+
Climate plan
+
{ctx.plan.status}
+
Plan {ctx.plan.name}
+
Actions {ctx.plan.actionsCount}
+
Own project pipeline {ctx.projects.length} projects
+
+
+ {entry === "project" && (
+ Project-first: import a prepared project (a Concept Note from the Project Preparator ) — it enters at the Portfolio step. Import project from Preparator (mock)
+ )}
+ goto(2)}>Find financing →
+ >
+ )}
+
+ {/* 2 — FIND FINANCING (funder navigator: funder → program → instrument) */}
+ {stage === 2 && scored && (
+ <>
+ Find a financing line
+ Readiness is specific to the product. Drill down funder → program → instrument . {entry === "entity" ? "Entity-first: a direct line for the city." : "Project-first: also surfaces grants & PPFs via the matching service / Preparator."}
+
+
+ {selFunder ? {selFunder.short} : "Funder"} › {selProgram ? {selProgram.name} : "Program"} › {selInstrument ? {selInstrument.name} : "Instrument"}
+
+
+
+
1 · Funder
+ {FUNDERS.map((f) => (
+
+ {f.name} {f.template && template }
+ { setSelFunderId(f.id); setSelProgramId(null); setSelInstrumentId(null); }}>
+ {selFunderId === f.id ? "Selected" : f.template ? "Coming soon" : "Select"}
+
+
+ ))}
+
+
+ {selFunder && (
+
+
2 · Program within {selFunder.short}
+ {selFunder.programs.map((p) => (
+
{ setSelProgramId(p.id); setSelInstrumentId(null); SM.setActiveProfile(p.profileId); }}>
+
{p.name} {selProgramId === p.id && selected }
+
{p.summary}
+ {p.eligibilityNote && selProgramId === p.id &&
{p.eligibilityNote}
}
+
+ ))}
+
+ )}
+
+ {selProgram && (
+
+
3 · Instrument within {selProgram.name}
+ {selProgram.instruments.map((i) => (
+
+ {i.name} {i.note && · {i.note} }
+ setSelInstrumentId(i.id)}>{selInstrumentId === i.id ? "Selected" : "Select"}
+
+ ))}
+
+ )}
+
+ Fed by the funder sourcing service — a converged catalog (today fragmented across CityCatalyst + the hackday apps). Mock for the demo.
+ goto(3)}>Assess readiness against {selFunder ? selFunder.short : "—"}{selProgram ? ` · ${selProgram.name}` : ""} →
+ >
+ )}
+
+ {/* 3 — READINESS PATHWAYS */}
+ {stage === 3 && scored && (
+ <>
+ Readiness pathways
+ The early creditworthiness assessment for the {SM.activeProfile().instrument} , scored on real fiscal data. The diagnosis routes the next step.
+
+
+
+ {scored.compositeReadiness}/100
+ {scored.tier}
+
+
+
+
+
+
Eligibility gate
+ {Object.entries(scored.eligibility).filter(([k]) => k !== "eligible").map(([k, v]) => {
+ const lbl = (SM.activeProfile().projectEligibility.find((c: any) => c.key === k) || {}).label || k;
+ return
{lbl}
;
+ })}
+
+
+
Recommended pathway
+ {pathway === "instrument" &&
Ready and eligible — proceed to the instrument.
}
+ {pathway === "pool" &&
Ready, but a single project is sub-scale. Reach the ticket size via a portfolio — the city's own projects, or pooling with neighbours.
}
+ {pathway === "capacity-building" &&
Not yet eligible. Route → capacity-building before the instrument. Not a debt problem — see the signals.
}
+
+
+
+ {(() => { const a = agentAssist({ cityName: scored.name, tier: scored.tier, cleared: scored.canEnterProjectReview, pathway: pathway! });
+ return CityCatalyst agent simulated
{a.text}
; })()}
+ goto(4)}>{pathway === "capacity-building" ? "See capacity-building track →" : "Build the portfolio →"}
+ >
+ )}
+
+ {/* 4 — PORTFOLIO / CAPACITY */}
+ {stage === 4 && scored && ctx && (
+ <>
+ {pathway === "capacity-building" ? (
+ <>
+ Capacity-building track
+ {scored.name} routes here instead of the loan instrument — what to fix to become eligible, and the funded routes to do it.
+ {(scored as any).capag && (
+
+
Why — the CAPAG signals
+
Real Tesouro Nacional indicators. The gap is not debt.
+
Debt / RCL (endividamento) grade {(scored as any).capag.nota1} ✓
+
Current savings (poupança) grade {(scored as any).capag.nota2}
+
Liquidity (liquidez) grade {(scored as any).capag.nota3}
+
Accounting quality (ICF) {(scored as any).capag.icf}
+
+ )}
+
+
Funded routes to readiness
+
Accounting / fiscal management TA → lift the ICF rating PPF · regular TC
+
Build cash reserves & current savings reform + TC
+
Grant / blended finance for adaptation now CCFLA / blended
+
+ Once the city re-rates (CAPAG B/A), it re-enters the instrument path. Submitting here registers a capacity-building referral , not a loan.
+ goto(5)}>Prepare referral →
+ >
+ ) : (
+ <>
+ Build a financeable portfolio
+ A single project is below the {SM.activeProfile().funder} ticket size. Two ways to reach it:
+
+ setPortfolioMode("intra")}>Intra-city portfolio
+ setPortfolioMode("cross")}>Cross-city pool
+
+
+ {portfolioMode === "intra" ? (
+
+
{scored.name}'s own projects
+
Bundle the city's own pipeline into one financeable portfolio — a single creditworthy borrower.
+
+ Project Sector Ask
+ {ctx.projects.map((p) => {p.title} {p.sector} US${p.askUSDm}M )}
+
+
+
Portfolio ask US${intraTotal}M
+
Readiness {intraScored!.tier} · {intraScored!.eligibility.eligible ? "eligible ✓" : "not eligible"}
+
+
+ ) : (
+
+
Pool with neighbouring cities
+
Pool credit lines across cities — {scored.name} anchors; small comunas ride the anchor. Other cities' readiness shown.
+
+ City Co-finance Readiness Role
+ {(DATA.cl.comunas as Comuna[]).map((c) => { const cs = SM.scoreSNG(c); return {c.name} {c.cofinanceScore ?? "—"} /100 {cs.tier} {c.isAnchor ? Anchor : Member } ; })}
+
+
+
Pooled ask US${pool!.pooledProposal.askUSDm}M
+
Pool readiness {poolScored!.tier} · {poolScored!.eligibility.eligible ? "eligible ✓" : "not eligible"}
+
+
+ )}
+ {portfolioMode === "intra" ? "Intra-city: one ready city, its own projects — cleanest path to the ticket." : "Cross-city: a pooled pipeline for a region / development bank — the deal that no single small city could reach alone."}
+ goto(5)}>Assemble dossier →
+ >
+ )}
+ >
+ )}
+
+ {/* 5 — FUNDER INTAKE */}
+ {stage === 5 && scored && pathway && (
+ <>
+ Funder intake
+ {!submitState ? (
+ <>
+ Assemble the machine-readable candidate dossier (Concept Note + creditworthiness + portfolio) and submit it to the funder's pipeline.
+
+
Candidate {pathway === "capacity-building" ? scored.name : portfolioMode === "cross" ? `${scored.name} pool (6 cities)` : `${scored.name} portfolio (${ctx!.projects.length} projects)`}
+
Pathway {pathway === "capacity-building" ? "capacity-building" : portfolioMode === "cross" ? "cross-city pool" : "intra-city portfolio"}
+
Target {pathway === "capacity-building" ? "Capacity-building / PPF" : SM.activeProfile().instrument}
+
Ask US${pathway === "capacity-building" ? scored.proposal.askUSDm : portfolioMode === "cross" ? pool!.pooledProposal.askUSDm : intraTotal}M
+
+
+ {submitting ? "Submitting…" : pathway === "capacity-building" ? "Submit capacity-building referral" : "Submit to funder pipeline"}
+
+ >
+ ) : (
+ <>
+ Submitted — the dossier is now on the funder's side of the screen.
+ {submitState.id} — {scored.name} is in the funder pipeline.
+ See it in the funder pipeline →
+ >
+ )}
+ >
+ )}
+
+ {stage > 0 && (
+
+ goto(stage - 1)}>← Back
+
+ )}
+
+
+ );
+}
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/app/pipeline/page.tsx b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/app/pipeline/page.tsx
new file mode 100644
index 0000000..9882b6f
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/app/pipeline/page.tsx
@@ -0,0 +1,91 @@
+"use client";
+
+import { useEffect, useState } from "react";
+import Link from "next/link";
+import type { Dossier } from "@/lib/dossier";
+
+export default function PipelinePage() {
+ const [subs, setSubs] = useState([]);
+ const [loading, setLoading] = useState(true);
+ const [open, setOpen] = useState(null);
+
+ async function load() {
+ const res = await fetch("/api/submissions", { cache: "no-store" });
+ setSubs(await res.json());
+ setLoading(false);
+ }
+ useEffect(() => { load(); }, []);
+
+ return (
+
+
+
IDB · Control Tower — Intake & Triage
+
funder side
+
+
← City journey
+
+
+
+
Incoming candidate dossiers
+
The funder side of the screen. Pre-scored candidates submitted from CityCatalyst arrive here as machine-readable dossiers, ready for the IDB Sub-Sovereign Finance Program (SFP) review. (Stands in for the justagiraffe Control Tower receiving the handoff.)
+
+
+
+ ↻ Refresh
+ {subs.length} dossier{subs.length === 1 ? "" : "s"}
+
+
+ {loading ? (
+
+ ) : subs.length === 0 ? (
+
No dossiers yet. Submit one from the city journey.
+ ) : (
+ subs.map((d) => (
+
+
+
{d.name} {d.country} {d.pathway}
+ {d.readiness.tier} · {d.readiness.composite}
+
+
{d.conceptNote.title} — {d.instrument.name} ({d.instrument.funder})
+
+
+
Dossier {d.id}
+
Ask US${d.financials.askUSDm}M
+
Clearance {d.readiness.cleared ? "Passed ✓" : "Capacity-building"}
+ {d.pool &&
Pool {d.pool.members.length} members · anchor {d.pool.anchor}
}
+
+
+
Sector {d.conceptNote.sector}
+
City id {d.locode}
+
Received {new Date(d.submittedAt).toLocaleTimeString()}
+
+
+
+ setOpen(open === d.id ? null : d.id)}>
+ {open === d.id ? "Hide dossier" : "Open dossier"}
+
+
+ {open === d.id && (
+
+
Concept note — plan
+
{d.conceptNote.summary}
+ {d.conceptNote.actions.map((a, i) => (
+
{a.name} {a.type}
+ ))}
+
Readiness — early creditworthiness assessment
+ {d.readiness.pillars.map((p) => (
+
{p.label} ({p.provenance}) {p.score}
+ ))}
+
Documentary due diligence
+ {d.dueDiligence.map((c, i) => (
+
{c.label}
+ ))}
+
{d.provenanceNote}
+
+ )}
+
+ ))
+ )}
+
+ );
+}
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/components/MapView.tsx b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/components/MapView.tsx
new file mode 100644
index 0000000..2c14b81
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/components/MapView.tsx
@@ -0,0 +1,65 @@
+"use client";
+
+import { useEffect, useRef } from "react";
+import type { MapPoint } from "@/lib/adapters";
+
+const COLOR: Record = {
+ Ready: "#2ca36a", bankable: "#2ca36a",
+ Developing: "#d9942a", constrained: "#d9942a",
+ Early: "#cf4b41", unrated: "#9aa5b1",
+};
+
+export default function MapView({
+ scopeId, points, center, zoom, onSelect,
+}: {
+ scopeId: string;
+ points: MapPoint[];
+ center: [number, number];
+ zoom: number;
+ onSelect: (id: string) => void;
+}) {
+ const elRef = useRef(null);
+ const mapRef = useRef(null);
+ const layerRef = useRef(null);
+
+ useEffect(() => {
+ let cancelled = false;
+ function init() {
+ const L = (window as any).L;
+ if (!L) { setTimeout(init, 150); return; }
+ if (cancelled) return;
+ if (!mapRef.current && elRef.current) {
+ mapRef.current = L.map(elRef.current, { scrollWheelZoom: false }).setView(center, zoom);
+ L.tileLayer("https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png", {
+ attribution: "© OpenStreetMap © CARTO", maxZoom: 19,
+ }).addTo(mapRef.current);
+ }
+ const map = mapRef.current;
+ map.setView(center, zoom);
+ if (layerRef.current) { map.removeLayer(layerRef.current); }
+ const group = L.layerGroup();
+ for (const p of points) {
+ const m = L.circleMarker([p.lat, p.lon], {
+ radius: p.isHero ? 9 : 5,
+ color: p.isHero ? "#0f172a" : "#ffffff",
+ weight: p.isHero ? 2 : 1,
+ fillColor: COLOR[p.tierClass] || "#9aa5b1",
+ fillOpacity: 0.9,
+ });
+ const tag = p.capag ? `CAPAG ${p.capag}` : p.tier;
+ m.bindTooltip(`${p.name} ${tag}${p.journeyable ? " · click to open" : ""}`, { direction: "top" });
+ if (p.journeyable) m.on("click", () => onSelect(p.id));
+ group.addLayer(m);
+ }
+ group.addTo(map);
+ layerRef.current = group;
+ }
+ init();
+ return () => { cancelled = true; };
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [scopeId, points]);
+
+ useEffect(() => () => { if (mapRef.current) { mapRef.current.remove(); mapRef.current = null; } }, []);
+
+ return
;
+}
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/components/Sidebar.tsx b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/components/Sidebar.tsx
new file mode 100644
index 0000000..43a1e05
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/components/Sidebar.tsx
@@ -0,0 +1,43 @@
+"use client";
+
+import Link from "next/link";
+
+export interface StageDef { key: string; title: string; sub: string }
+
+export default function Sidebar({
+ stages, active, maxReached, onSelect,
+}: {
+ stages: StageDef[];
+ active: number;
+ maxReached: number;
+ onSelect: (i: number) => void;
+}) {
+ return (
+
+ CityCatalyst · Climate-Finance Readiness
+ Navigator — get cities & regions ready to access climate finance
+
+ Process
+
+
+ {stages.map((s, i) => (
+
maxReached}
+ onClick={() => onSelect(i)}
+ >
+ {i < maxReached ? "✓" : i + 1}
+ {s.title} {s.sub}
+
+ ))}
+
+
+ Funder side
+
+ →
+ Funder intake IDB Control Tower
+
+
+ );
+}
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/data/brazil.json b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/data/brazil.json
new file mode 100644
index 0000000..e0cc41d
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/data/brazil.json
@@ -0,0 +1,4551 @@
+{
+ "generated": "2026-06-14",
+ "source": "CAPAG — Tesouro Nacional (ODbL), via the CAPAG Funder Scan hackday team (Joaquin van Peborgh, Carole Viaene). Screening signal, not a credit decision.",
+ "scope": {
+ "country": "Brazil",
+ "region": "Rio Grande do Sul (RS)",
+ "note": "state hit by the catastrophic 2024 floods"
+ },
+ "hero": {
+ "id": "SNG-BR-4304606",
+ "name": "Canoas",
+ "locode": "IBGE 4304606",
+ "cityId": "4304606",
+ "country": "Brazil",
+ "iso": "BR",
+ "type": "City",
+ "population": 347000,
+ "isAnchor": false,
+ "cofinanceScore": null,
+ "anchorScore": null,
+ "readiness": {
+ "creditworthiness": 38,
+ "fiscalHealth": 52,
+ "governance": 50,
+ "legalCapacity": 38
+ },
+ "provenance": {
+ "creditworthiness": "real:CAPAG rating C (Tesouro Nacional)",
+ "fiscalHealth": "real:CAPAG indicators (debt A · savings C · liquidity C)",
+ "governance": "real:CAPAG ICF Cicf + transparency (RGF/RREO)",
+ "legalCapacity": "real:CAPAG C — blocked from Union-guaranteed credit"
+ },
+ "signals": {
+ "capagRating": "C",
+ "ownSourceRevenuePct": null,
+ "debtServiceRatioPct": null,
+ "currentBalancePct": null,
+ "independentAudit": false,
+ "canBorrowWithoutSovereignGuarantee": false
+ },
+ "capag": {
+ "rating": "C",
+ "ind1": 0.1932645582,
+ "nota1": "A",
+ "ind2": 0.9855266178,
+ "nota2": "C",
+ "ind3": -0.0234503149,
+ "nota3": "C",
+ "icf": "Cicf"
+ },
+ "proposal": {
+ "title": "Flood resilience & drainage program (post-2024)",
+ "sector": "water / resilience",
+ "askUSDm": 45,
+ "stage": "Readiness Review",
+ "cofinance": false
+ }
+ },
+ "stateMap": [
+ {
+ "name": "Aceguá",
+ "codIbge": "4300034",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -31.8665,
+ "lon": -54.1615,
+ "isHero": false
+ },
+ {
+ "name": "Água Santa",
+ "codIbge": "4300059",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.1672,
+ "lon": -52.031,
+ "isHero": false
+ },
+ {
+ "name": "Agudo",
+ "codIbge": "4300109",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.6447,
+ "lon": -53.2515,
+ "isHero": false
+ },
+ {
+ "name": "Ajuricaba",
+ "codIbge": "4300208",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.2342,
+ "lon": -53.7757,
+ "isHero": false
+ },
+ {
+ "name": "Alecrim",
+ "codIbge": "4300307",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -27.6579,
+ "lon": -54.7649,
+ "isHero": false
+ },
+ {
+ "name": "Alegrete",
+ "codIbge": "4300406",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.7902,
+ "lon": -55.7949,
+ "isHero": false
+ },
+ {
+ "name": "Alegria",
+ "codIbge": "4300455",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.8345,
+ "lon": -54.0557,
+ "isHero": false
+ },
+ {
+ "name": "Almirante Tamandaré do Sul",
+ "codIbge": "4300471",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.1149,
+ "lon": -52.9142,
+ "isHero": false
+ },
+ {
+ "name": "Alpestre",
+ "codIbge": "4300505",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.2502,
+ "lon": -53.0341,
+ "isHero": false
+ },
+ {
+ "name": "Alto Alegre",
+ "codIbge": "4300554",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.7769,
+ "lon": -52.9893,
+ "isHero": false
+ },
+ {
+ "name": "Alto Feliz",
+ "codIbge": "4300570",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.3919,
+ "lon": -51.3123,
+ "isHero": false
+ },
+ {
+ "name": "Alvorada",
+ "codIbge": "4300604",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.9914,
+ "lon": -51.0809,
+ "isHero": false
+ },
+ {
+ "name": "Amaral Ferrador",
+ "codIbge": "4300638",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -30.8756,
+ "lon": -52.2509,
+ "isHero": false
+ },
+ {
+ "name": "Ametista do Sul",
+ "codIbge": "4300646",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -27.3607,
+ "lon": -53.183,
+ "isHero": false
+ },
+ {
+ "name": "André da Rocha",
+ "codIbge": "4300661",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.6283,
+ "lon": -51.5797,
+ "isHero": false
+ },
+ {
+ "name": "Anta Gorda",
+ "codIbge": "4300703",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.9698,
+ "lon": -52.0102,
+ "isHero": false
+ },
+ {
+ "name": "Antônio Prado",
+ "codIbge": "4300802",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.8565,
+ "lon": -51.2883,
+ "isHero": false
+ },
+ {
+ "name": "Arambaré",
+ "codIbge": "4300851",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -30.9092,
+ "lon": -51.5046,
+ "isHero": false
+ },
+ {
+ "name": "Araricá",
+ "codIbge": "4300877",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.6168,
+ "lon": -50.9291,
+ "isHero": false
+ },
+ {
+ "name": "Aratiba",
+ "codIbge": "4300901",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.3978,
+ "lon": -52.2975,
+ "isHero": false
+ },
+ {
+ "name": "Arroio do Meio",
+ "codIbge": "4301008",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.4014,
+ "lon": -51.9557,
+ "isHero": false
+ },
+ {
+ "name": "Arroio do Sal",
+ "codIbge": "4301057",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -29.5439,
+ "lon": -49.8895,
+ "isHero": false
+ },
+ {
+ "name": "Arroio do Padre",
+ "codIbge": "4301073",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -31.4389,
+ "lon": -52.4246,
+ "isHero": false
+ },
+ {
+ "name": "Arroio dos Ratos",
+ "codIbge": "4301107",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -30.0875,
+ "lon": -51.7275,
+ "isHero": false
+ },
+ {
+ "name": "Arroio do Tigre",
+ "codIbge": "4301206",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.3348,
+ "lon": -53.0966,
+ "isHero": false
+ },
+ {
+ "name": "Arroio Grande",
+ "codIbge": "4301305",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -32.2327,
+ "lon": -53.0862,
+ "isHero": false
+ },
+ {
+ "name": "Arvorezinha",
+ "codIbge": "4301404",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -28.8737,
+ "lon": -52.1781,
+ "isHero": false
+ },
+ {
+ "name": "Augusto Pestana",
+ "codIbge": "4301503",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.5172,
+ "lon": -53.9883,
+ "isHero": false
+ },
+ {
+ "name": "Áurea",
+ "codIbge": "4301552",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.6936,
+ "lon": -52.0505,
+ "isHero": false
+ },
+ {
+ "name": "Bagé",
+ "codIbge": "4301602",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -31.3297,
+ "lon": -54.0999,
+ "isHero": false
+ },
+ {
+ "name": "Balneário Pinhal",
+ "codIbge": "4301636",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -30.2419,
+ "lon": -50.2337,
+ "isHero": false
+ },
+ {
+ "name": "Barão",
+ "codIbge": "4301651",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.3725,
+ "lon": -51.4949,
+ "isHero": false
+ },
+ {
+ "name": "Barão de Cotegipe",
+ "codIbge": "4301701",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.6208,
+ "lon": -52.3798,
+ "isHero": false
+ },
+ {
+ "name": "Barão do Triunfo",
+ "codIbge": "4301750",
+ "capag": "n.d.",
+ "tier": "unrated",
+ "lat": -30.3891,
+ "lon": -51.7384,
+ "isHero": false
+ },
+ {
+ "name": "Barracão",
+ "codIbge": "4301800",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.6739,
+ "lon": -51.4585,
+ "isHero": false
+ },
+ {
+ "name": "Barra do Guarita",
+ "codIbge": "4301859",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.1927,
+ "lon": -53.7109,
+ "isHero": false
+ },
+ {
+ "name": "Barra do Quaraí",
+ "codIbge": "4301875",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -30.2029,
+ "lon": -57.5497,
+ "isHero": false
+ },
+ {
+ "name": "Barra do Ribeiro",
+ "codIbge": "4301909",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -30.2939,
+ "lon": -51.3014,
+ "isHero": false
+ },
+ {
+ "name": "Barra do Rio Azul",
+ "codIbge": "4301925",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.4069,
+ "lon": -52.4084,
+ "isHero": false
+ },
+ {
+ "name": "Barra Funda",
+ "codIbge": "4301958",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.9205,
+ "lon": -53.0391,
+ "isHero": false
+ },
+ {
+ "name": "Barros Cassal",
+ "codIbge": "4302006",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.0947,
+ "lon": -52.5836,
+ "isHero": false
+ },
+ {
+ "name": "Benjamin Constant do Sul",
+ "codIbge": "4302055",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.5086,
+ "lon": -52.5995,
+ "isHero": false
+ },
+ {
+ "name": "Bento Gonçalves",
+ "codIbge": "4302105",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.1662,
+ "lon": -51.5165,
+ "isHero": false
+ },
+ {
+ "name": "Boa Vista das Missões",
+ "codIbge": "4302154",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.6671,
+ "lon": -53.3102,
+ "isHero": false
+ },
+ {
+ "name": "Boa Vista do Buricá",
+ "codIbge": "4302204",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.6693,
+ "lon": -54.1082,
+ "isHero": false
+ },
+ {
+ "name": "Boa Vista do Cadeado",
+ "codIbge": "4302220",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.5791,
+ "lon": -53.8108,
+ "isHero": false
+ },
+ {
+ "name": "Boa Vista do Incra",
+ "codIbge": "4302238",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.8185,
+ "lon": -53.391,
+ "isHero": false
+ },
+ {
+ "name": "Boa Vista do Sul",
+ "codIbge": "4302253",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.3544,
+ "lon": -51.6687,
+ "isHero": false
+ },
+ {
+ "name": "Bom Jesus",
+ "codIbge": "4302303",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.6697,
+ "lon": -50.4295,
+ "isHero": false
+ },
+ {
+ "name": "Bom Princípio",
+ "codIbge": "4302352",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.4856,
+ "lon": -51.3548,
+ "isHero": false
+ },
+ {
+ "name": "Bom Progresso",
+ "codIbge": "4302378",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -27.5399,
+ "lon": -53.8716,
+ "isHero": false
+ },
+ {
+ "name": "Bom Retiro do Sul",
+ "codIbge": "4302402",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.6071,
+ "lon": -51.9456,
+ "isHero": false
+ },
+ {
+ "name": "Boqueirão do Leão",
+ "codIbge": "4302451",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.3046,
+ "lon": -52.4284,
+ "isHero": false
+ },
+ {
+ "name": "Bossoroca",
+ "codIbge": "4302501",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.7291,
+ "lon": -54.9035,
+ "isHero": false
+ },
+ {
+ "name": "Bozano",
+ "codIbge": "4302584",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.3659,
+ "lon": -53.772,
+ "isHero": false
+ },
+ {
+ "name": "Braga",
+ "codIbge": "4302600",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.6173,
+ "lon": -53.7405,
+ "isHero": false
+ },
+ {
+ "name": "Brochier",
+ "codIbge": "4302659",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.5501,
+ "lon": -51.5945,
+ "isHero": false
+ },
+ {
+ "name": "Butiá",
+ "codIbge": "4302709",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -30.1179,
+ "lon": -51.9601,
+ "isHero": false
+ },
+ {
+ "name": "Caçapava do Sul",
+ "codIbge": "4302808",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -30.5144,
+ "lon": -53.4827,
+ "isHero": false
+ },
+ {
+ "name": "Cacequi",
+ "codIbge": "4302907",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.8883,
+ "lon": -54.822,
+ "isHero": false
+ },
+ {
+ "name": "Cachoeira do Sul",
+ "codIbge": "4303004",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -30.033,
+ "lon": -52.8928,
+ "isHero": false
+ },
+ {
+ "name": "Cachoeirinha",
+ "codIbge": "4303103",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.9472,
+ "lon": -51.1016,
+ "isHero": false
+ },
+ {
+ "name": "Cacique Doble",
+ "codIbge": "4303202",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.767,
+ "lon": -51.6597,
+ "isHero": false
+ },
+ {
+ "name": "Caibaté",
+ "codIbge": "4303301",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -28.2905,
+ "lon": -54.6454,
+ "isHero": false
+ },
+ {
+ "name": "Caiçara",
+ "codIbge": "4303400",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.2791,
+ "lon": -53.4257,
+ "isHero": false
+ },
+ {
+ "name": "Camaquã",
+ "codIbge": "4303509",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -30.8489,
+ "lon": -51.8043,
+ "isHero": false
+ },
+ {
+ "name": "Camargo",
+ "codIbge": "4303558",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.588,
+ "lon": -52.2003,
+ "isHero": false
+ },
+ {
+ "name": "Cambará do Sul",
+ "codIbge": "4303608",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.0474,
+ "lon": -50.1465,
+ "isHero": false
+ },
+ {
+ "name": "Campestre da Serra",
+ "codIbge": "4303673",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.7926,
+ "lon": -51.0941,
+ "isHero": false
+ },
+ {
+ "name": "Campina das Missões",
+ "codIbge": "4303707",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.9888,
+ "lon": -54.8416,
+ "isHero": false
+ },
+ {
+ "name": "Campinas do Sul",
+ "codIbge": "4303806",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.7174,
+ "lon": -52.6248,
+ "isHero": false
+ },
+ {
+ "name": "Campo Bom",
+ "codIbge": "4303905",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.6747,
+ "lon": -51.0606,
+ "isHero": false
+ },
+ {
+ "name": "Campo Novo",
+ "codIbge": "4304002",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.6792,
+ "lon": -53.8052,
+ "isHero": false
+ },
+ {
+ "name": "Campos Borges",
+ "codIbge": "4304101",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.8871,
+ "lon": -53.0008,
+ "isHero": false
+ },
+ {
+ "name": "Candelária",
+ "codIbge": "4304200",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.6684,
+ "lon": -52.7895,
+ "isHero": false
+ },
+ {
+ "name": "Cândido Godói",
+ "codIbge": "4304309",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.9515,
+ "lon": -54.7517,
+ "isHero": false
+ },
+ {
+ "name": "Candiota",
+ "codIbge": "4304358",
+ "capag": "n.d.",
+ "tier": "unrated",
+ "lat": -31.5516,
+ "lon": -53.6773,
+ "isHero": false
+ },
+ {
+ "name": "Canela",
+ "codIbge": "4304408",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.356,
+ "lon": -50.8119,
+ "isHero": false
+ },
+ {
+ "name": "Canguçu",
+ "codIbge": "4304507",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -31.396,
+ "lon": -52.6783,
+ "isHero": false
+ },
+ {
+ "name": "Canoas",
+ "codIbge": "4304606",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.9128,
+ "lon": -51.1857,
+ "isHero": true
+ },
+ {
+ "name": "Canudos do Vale",
+ "codIbge": "4304614",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.3271,
+ "lon": -52.2374,
+ "isHero": false
+ },
+ {
+ "name": "Capão Bonito do Sul",
+ "codIbge": "4304622",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.1254,
+ "lon": -51.3961,
+ "isHero": false
+ },
+ {
+ "name": "Capão da Canoa",
+ "codIbge": "4304630",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.7642,
+ "lon": -50.0282,
+ "isHero": false
+ },
+ {
+ "name": "Capão do Cipó",
+ "codIbge": "4304655",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.9312,
+ "lon": -54.5558,
+ "isHero": false
+ },
+ {
+ "name": "Capão do Leão",
+ "codIbge": "4304663",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -31.7565,
+ "lon": -52.4889,
+ "isHero": false
+ },
+ {
+ "name": "Capivari do Sul",
+ "codIbge": "4304671",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -30.1383,
+ "lon": -50.5152,
+ "isHero": false
+ },
+ {
+ "name": "Capela de Santana",
+ "codIbge": "4304689",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.6961,
+ "lon": -51.328,
+ "isHero": false
+ },
+ {
+ "name": "Capitão",
+ "codIbge": "4304697",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.2674,
+ "lon": -51.9853,
+ "isHero": false
+ },
+ {
+ "name": "Carazinho",
+ "codIbge": "4304705",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.2958,
+ "lon": -52.7933,
+ "isHero": false
+ },
+ {
+ "name": "Caraá",
+ "codIbge": "4304713",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.7869,
+ "lon": -50.4316,
+ "isHero": false
+ },
+ {
+ "name": "Carlos Barbosa",
+ "codIbge": "4304804",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.2969,
+ "lon": -51.5028,
+ "isHero": false
+ },
+ {
+ "name": "Carlos Gomes",
+ "codIbge": "4304853",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.7167,
+ "lon": -51.9121,
+ "isHero": false
+ },
+ {
+ "name": "Casca",
+ "codIbge": "4304903",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.5605,
+ "lon": -51.9815,
+ "isHero": false
+ },
+ {
+ "name": "Caseiros",
+ "codIbge": "4304952",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.2582,
+ "lon": -51.6861,
+ "isHero": false
+ },
+ {
+ "name": "Catuípe",
+ "codIbge": "4305009",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.2554,
+ "lon": -54.0132,
+ "isHero": false
+ },
+ {
+ "name": "Caxias do Sul",
+ "codIbge": "4305108",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.1629,
+ "lon": -51.1792,
+ "isHero": false
+ },
+ {
+ "name": "Centenário",
+ "codIbge": "4305116",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.7615,
+ "lon": -51.9984,
+ "isHero": false
+ },
+ {
+ "name": "Cerrito",
+ "codIbge": "4305124",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -31.8419,
+ "lon": -52.8004,
+ "isHero": false
+ },
+ {
+ "name": "Cerro Branco",
+ "codIbge": "4305132",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.657,
+ "lon": -52.9406,
+ "isHero": false
+ },
+ {
+ "name": "Cerro Grande",
+ "codIbge": "4305157",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.6106,
+ "lon": -53.1672,
+ "isHero": false
+ },
+ {
+ "name": "Cerro Grande do Sul",
+ "codIbge": "4305173",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -30.5905,
+ "lon": -51.7418,
+ "isHero": false
+ },
+ {
+ "name": "Cerro Largo",
+ "codIbge": "4305207",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -28.1463,
+ "lon": -54.7428,
+ "isHero": false
+ },
+ {
+ "name": "Chapada",
+ "codIbge": "4305306",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.0559,
+ "lon": -53.0665,
+ "isHero": false
+ },
+ {
+ "name": "Charqueadas",
+ "codIbge": "4305355",
+ "capag": "n.d.",
+ "tier": "unrated",
+ "lat": -29.9625,
+ "lon": -51.6289,
+ "isHero": false
+ },
+ {
+ "name": "Charrua",
+ "codIbge": "4305371",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.9493,
+ "lon": -52.015,
+ "isHero": false
+ },
+ {
+ "name": "Chiapetta",
+ "codIbge": "4305405",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.923,
+ "lon": -53.9419,
+ "isHero": false
+ },
+ {
+ "name": "Chuí",
+ "codIbge": "4305439",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -33.6866,
+ "lon": -53.4594,
+ "isHero": false
+ },
+ {
+ "name": "Chuvisca",
+ "codIbge": "4305447",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -30.7504,
+ "lon": -51.9737,
+ "isHero": false
+ },
+ {
+ "name": "Cidreira",
+ "codIbge": "4305454",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -30.1604,
+ "lon": -50.2337,
+ "isHero": false
+ },
+ {
+ "name": "Ciríaco",
+ "codIbge": "4305504",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.3419,
+ "lon": -51.8741,
+ "isHero": false
+ },
+ {
+ "name": "Colinas",
+ "codIbge": "4305587",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.3948,
+ "lon": -51.8556,
+ "isHero": false
+ },
+ {
+ "name": "Colorado",
+ "codIbge": "4305603",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.5258,
+ "lon": -52.9928,
+ "isHero": false
+ },
+ {
+ "name": "Condor",
+ "codIbge": "4305702",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -28.2075,
+ "lon": -53.4905,
+ "isHero": false
+ },
+ {
+ "name": "Constantina",
+ "codIbge": "4305801",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.732,
+ "lon": -52.9938,
+ "isHero": false
+ },
+ {
+ "name": "Coqueiro Baixo",
+ "codIbge": "4305835",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.1802,
+ "lon": -52.0942,
+ "isHero": false
+ },
+ {
+ "name": "Coqueiros do Sul",
+ "codIbge": "4305850",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.1194,
+ "lon": -52.7842,
+ "isHero": false
+ },
+ {
+ "name": "Coronel Barros",
+ "codIbge": "4305871",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.3921,
+ "lon": -54.0686,
+ "isHero": false
+ },
+ {
+ "name": "Coronel Bicaco",
+ "codIbge": "4305900",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -27.7197,
+ "lon": -53.7022,
+ "isHero": false
+ },
+ {
+ "name": "Coronel Pilar",
+ "codIbge": "4305934",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.2695,
+ "lon": -51.6847,
+ "isHero": false
+ },
+ {
+ "name": "Cotiporã",
+ "codIbge": "4305959",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.9891,
+ "lon": -51.6971,
+ "isHero": false
+ },
+ {
+ "name": "Coxilha",
+ "codIbge": "4305975",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.128,
+ "lon": -52.3023,
+ "isHero": false
+ },
+ {
+ "name": "Crissiumal",
+ "codIbge": "4306007",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.4999,
+ "lon": -54.0994,
+ "isHero": false
+ },
+ {
+ "name": "Cristal",
+ "codIbge": "4306056",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -31.0046,
+ "lon": -52.0436,
+ "isHero": false
+ },
+ {
+ "name": "Cristal do Sul",
+ "codIbge": "4306072",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.452,
+ "lon": -53.2422,
+ "isHero": false
+ },
+ {
+ "name": "Cruz Alta",
+ "codIbge": "4306106",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -28.645,
+ "lon": -53.6048,
+ "isHero": false
+ },
+ {
+ "name": "Cruzaltense",
+ "codIbge": "4306130",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.6672,
+ "lon": -52.6522,
+ "isHero": false
+ },
+ {
+ "name": "Cruzeiro do Sul",
+ "codIbge": "4306205",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.5148,
+ "lon": -51.9928,
+ "isHero": false
+ },
+ {
+ "name": "David Canabarro",
+ "codIbge": "4306304",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -28.3849,
+ "lon": -51.8482,
+ "isHero": false
+ },
+ {
+ "name": "Derrubadas",
+ "codIbge": "4306320",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.2642,
+ "lon": -53.8645,
+ "isHero": false
+ },
+ {
+ "name": "Dezesseis de Novembro",
+ "codIbge": "4306353",
+ "capag": "n.e.",
+ "tier": "unrated",
+ "lat": -28.219,
+ "lon": -55.0617,
+ "isHero": false
+ },
+ {
+ "name": "Dilermando de Aguiar",
+ "codIbge": "4306379",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.7054,
+ "lon": -54.2122,
+ "isHero": false
+ },
+ {
+ "name": "Dois Irmãos",
+ "codIbge": "4306403",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.5836,
+ "lon": -51.0898,
+ "isHero": false
+ },
+ {
+ "name": "Dois Irmãos das Missões",
+ "codIbge": "4306429",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.6621,
+ "lon": -53.5304,
+ "isHero": false
+ },
+ {
+ "name": "Dois Lajeados",
+ "codIbge": "4306452",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.983,
+ "lon": -51.8396,
+ "isHero": false
+ },
+ {
+ "name": "Dom Feliciano",
+ "codIbge": "4306502",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -30.7004,
+ "lon": -52.1026,
+ "isHero": false
+ },
+ {
+ "name": "Dom Pedro de Alcântara",
+ "codIbge": "4306551",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.3639,
+ "lon": -49.853,
+ "isHero": false
+ },
+ {
+ "name": "Dom Pedrito",
+ "codIbge": "4306601",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -30.9756,
+ "lon": -54.6694,
+ "isHero": false
+ },
+ {
+ "name": "Dona Francisca",
+ "codIbge": "4306700",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.6195,
+ "lon": -53.3617,
+ "isHero": false
+ },
+ {
+ "name": "Doutor Maurício Cardoso",
+ "codIbge": "4306734",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.5103,
+ "lon": -54.3577,
+ "isHero": false
+ },
+ {
+ "name": "Doutor Ricardo",
+ "codIbge": "4306759",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.084,
+ "lon": -51.9972,
+ "isHero": false
+ },
+ {
+ "name": "Eldorado do Sul",
+ "codIbge": "4306767",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -30.0847,
+ "lon": -51.6187,
+ "isHero": false
+ },
+ {
+ "name": "Encantado",
+ "codIbge": "4306809",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.2351,
+ "lon": -51.8703,
+ "isHero": false
+ },
+ {
+ "name": "Encruzilhada do Sul",
+ "codIbge": "4306908",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -30.543,
+ "lon": -52.5204,
+ "isHero": false
+ },
+ {
+ "name": "Engenho Velho",
+ "codIbge": "4306924",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.706,
+ "lon": -52.9145,
+ "isHero": false
+ },
+ {
+ "name": "Entre-Ijuís",
+ "codIbge": "4306932",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -28.3686,
+ "lon": -54.2686,
+ "isHero": false
+ },
+ {
+ "name": "Entre Rios do Sul",
+ "codIbge": "4306957",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -27.5298,
+ "lon": -52.7347,
+ "isHero": false
+ },
+ {
+ "name": "Erebango",
+ "codIbge": "4306973",
+ "capag": "n.e.",
+ "tier": "unrated",
+ "lat": -27.8544,
+ "lon": -52.3005,
+ "isHero": false
+ },
+ {
+ "name": "Erechim",
+ "codIbge": "4307005",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.6364,
+ "lon": -52.2697,
+ "isHero": false
+ },
+ {
+ "name": "Ernestina",
+ "codIbge": "4307054",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.4977,
+ "lon": -52.5836,
+ "isHero": false
+ },
+ {
+ "name": "Herval",
+ "codIbge": "4307104",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -32.024,
+ "lon": -53.3944,
+ "isHero": false
+ },
+ {
+ "name": "Erval Grande",
+ "codIbge": "4307203",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -27.3926,
+ "lon": -52.574,
+ "isHero": false
+ },
+ {
+ "name": "Erval Seco",
+ "codIbge": "4307302",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -27.5443,
+ "lon": -53.5005,
+ "isHero": false
+ },
+ {
+ "name": "Esmeralda",
+ "codIbge": "4307401",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.0518,
+ "lon": -51.1933,
+ "isHero": false
+ },
+ {
+ "name": "Esperança do Sul",
+ "codIbge": "4307450",
+ "capag": "n.d.",
+ "tier": "unrated",
+ "lat": -27.3603,
+ "lon": -53.9891,
+ "isHero": false
+ },
+ {
+ "name": "Espumoso",
+ "codIbge": "4307500",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.7286,
+ "lon": -52.8461,
+ "isHero": false
+ },
+ {
+ "name": "Estação",
+ "codIbge": "4307559",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.9135,
+ "lon": -52.2635,
+ "isHero": false
+ },
+ {
+ "name": "Estância Velha",
+ "codIbge": "4307609",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.6535,
+ "lon": -51.1843,
+ "isHero": false
+ },
+ {
+ "name": "Esteio",
+ "codIbge": "4307708",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.852,
+ "lon": -51.1841,
+ "isHero": false
+ },
+ {
+ "name": "Estrela",
+ "codIbge": "4307807",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.5002,
+ "lon": -51.9495,
+ "isHero": false
+ },
+ {
+ "name": "Estrela Velha",
+ "codIbge": "4307815",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.1713,
+ "lon": -53.1639,
+ "isHero": false
+ },
+ {
+ "name": "Eugênio de Castro",
+ "codIbge": "4307831",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.5315,
+ "lon": -54.1506,
+ "isHero": false
+ },
+ {
+ "name": "Fagundes Varela",
+ "codIbge": "4307864",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.8794,
+ "lon": -51.7014,
+ "isHero": false
+ },
+ {
+ "name": "Farroupilha",
+ "codIbge": "4307906",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.2227,
+ "lon": -51.3419,
+ "isHero": false
+ },
+ {
+ "name": "Faxinal do Soturno",
+ "codIbge": "4308003",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.5788,
+ "lon": -53.4484,
+ "isHero": false
+ },
+ {
+ "name": "Faxinalzinho",
+ "codIbge": "4308052",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -27.4238,
+ "lon": -52.6789,
+ "isHero": false
+ },
+ {
+ "name": "Fazenda Vilanova",
+ "codIbge": "4308078",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.5885,
+ "lon": -51.8217,
+ "isHero": false
+ },
+ {
+ "name": "Feliz",
+ "codIbge": "4308102",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.4527,
+ "lon": -51.3032,
+ "isHero": false
+ },
+ {
+ "name": "Flores da Cunha",
+ "codIbge": "4308201",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.0261,
+ "lon": -51.1875,
+ "isHero": false
+ },
+ {
+ "name": "Floriano Peixoto",
+ "codIbge": "4308250",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.8614,
+ "lon": -52.0838,
+ "isHero": false
+ },
+ {
+ "name": "Fontoura Xavier",
+ "codIbge": "4308300",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.9817,
+ "lon": -52.3445,
+ "isHero": false
+ },
+ {
+ "name": "Formigueiro",
+ "codIbge": "4308409",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -30.0035,
+ "lon": -53.4959,
+ "isHero": false
+ },
+ {
+ "name": "Forquetinha",
+ "codIbge": "4308433",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.3828,
+ "lon": -52.0981,
+ "isHero": false
+ },
+ {
+ "name": "Fortaleza dos Valos",
+ "codIbge": "4308458",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.7986,
+ "lon": -53.2249,
+ "isHero": false
+ },
+ {
+ "name": "Frederico Westphalen",
+ "codIbge": "4308508",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.3586,
+ "lon": -53.3958,
+ "isHero": false
+ },
+ {
+ "name": "Garibaldi",
+ "codIbge": "4308607",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.259,
+ "lon": -51.5352,
+ "isHero": false
+ },
+ {
+ "name": "Garruchos",
+ "codIbge": "4308656",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.1944,
+ "lon": -55.6383,
+ "isHero": false
+ },
+ {
+ "name": "Gaurama",
+ "codIbge": "4308706",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.5856,
+ "lon": -52.0915,
+ "isHero": false
+ },
+ {
+ "name": "General Câmara",
+ "codIbge": "4308805",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.9032,
+ "lon": -51.7612,
+ "isHero": false
+ },
+ {
+ "name": "Gentil",
+ "codIbge": "4308854",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.4316,
+ "lon": -52.0337,
+ "isHero": false
+ },
+ {
+ "name": "Getúlio Vargas",
+ "codIbge": "4308904",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.8911,
+ "lon": -52.2294,
+ "isHero": false
+ },
+ {
+ "name": "Giruá",
+ "codIbge": "4309001",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.0297,
+ "lon": -54.3517,
+ "isHero": false
+ },
+ {
+ "name": "Glorinha",
+ "codIbge": "4309050",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.8798,
+ "lon": -50.7734,
+ "isHero": false
+ },
+ {
+ "name": "Gramado",
+ "codIbge": "4309100",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.3734,
+ "lon": -50.8762,
+ "isHero": false
+ },
+ {
+ "name": "Gramado dos Loureiros",
+ "codIbge": "4309126",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.4429,
+ "lon": -52.9149,
+ "isHero": false
+ },
+ {
+ "name": "Gramado Xavier",
+ "codIbge": "4309159",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -29.2706,
+ "lon": -52.5795,
+ "isHero": false
+ },
+ {
+ "name": "Gravataí",
+ "codIbge": "4309209",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.9413,
+ "lon": -50.9869,
+ "isHero": false
+ },
+ {
+ "name": "Guabiju",
+ "codIbge": "4309258",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.5421,
+ "lon": -51.6948,
+ "isHero": false
+ },
+ {
+ "name": "Guaíba",
+ "codIbge": "4309308",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -30.1086,
+ "lon": -51.3233,
+ "isHero": false
+ },
+ {
+ "name": "Guaporé",
+ "codIbge": "4309407",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.8399,
+ "lon": -51.8895,
+ "isHero": false
+ },
+ {
+ "name": "Guarani das Missões",
+ "codIbge": "4309506",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.1491,
+ "lon": -54.5629,
+ "isHero": false
+ },
+ {
+ "name": "Harmonia",
+ "codIbge": "4309555",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.5456,
+ "lon": -51.4185,
+ "isHero": false
+ },
+ {
+ "name": "Herveiras",
+ "codIbge": "4309571",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.4552,
+ "lon": -52.6553,
+ "isHero": false
+ },
+ {
+ "name": "Horizontina",
+ "codIbge": "4309605",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.6282,
+ "lon": -54.3053,
+ "isHero": false
+ },
+ {
+ "name": "Hulha Negra",
+ "codIbge": "4309654",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -31.4067,
+ "lon": -53.8667,
+ "isHero": false
+ },
+ {
+ "name": "Humaitá",
+ "codIbge": "4309704",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.5691,
+ "lon": -53.9695,
+ "isHero": false
+ },
+ {
+ "name": "Ibarama",
+ "codIbge": "4309753",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.4203,
+ "lon": -53.1295,
+ "isHero": false
+ },
+ {
+ "name": "Ibiaçá",
+ "codIbge": "4309803",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -28.0566,
+ "lon": -51.8599,
+ "isHero": false
+ },
+ {
+ "name": "Ibiraiaras",
+ "codIbge": "4309902",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.3741,
+ "lon": -51.6377,
+ "isHero": false
+ },
+ {
+ "name": "Ibirapuitã",
+ "codIbge": "4309951",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.6247,
+ "lon": -52.5158,
+ "isHero": false
+ },
+ {
+ "name": "Ibirubá",
+ "codIbge": "4310009",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -28.6302,
+ "lon": -53.0961,
+ "isHero": false
+ },
+ {
+ "name": "Igrejinha",
+ "codIbge": "4310108",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.5693,
+ "lon": -50.7919,
+ "isHero": false
+ },
+ {
+ "name": "Ijuí",
+ "codIbge": "4310207",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -28.388,
+ "lon": -53.92,
+ "isHero": false
+ },
+ {
+ "name": "Ilópolis",
+ "codIbge": "4310306",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.9282,
+ "lon": -52.1258,
+ "isHero": false
+ },
+ {
+ "name": "Imbé",
+ "codIbge": "4310330",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -29.9753,
+ "lon": -50.1281,
+ "isHero": false
+ },
+ {
+ "name": "Imigrante",
+ "codIbge": "4310363",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.3508,
+ "lon": -51.7748,
+ "isHero": false
+ },
+ {
+ "name": "Independência",
+ "codIbge": "4310405",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.8354,
+ "lon": -54.1886,
+ "isHero": false
+ },
+ {
+ "name": "Inhacorá",
+ "codIbge": "4310413",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.8752,
+ "lon": -54.015,
+ "isHero": false
+ },
+ {
+ "name": "Ipê",
+ "codIbge": "4310439",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.8171,
+ "lon": -51.2859,
+ "isHero": false
+ },
+ {
+ "name": "Ipiranga do Sul",
+ "codIbge": "4310462",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.9404,
+ "lon": -52.4271,
+ "isHero": false
+ },
+ {
+ "name": "Iraí",
+ "codIbge": "4310504",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.1951,
+ "lon": -53.2543,
+ "isHero": false
+ },
+ {
+ "name": "Itaara",
+ "codIbge": "4310538",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.6013,
+ "lon": -53.7725,
+ "isHero": false
+ },
+ {
+ "name": "Itacurubi",
+ "codIbge": "4310553",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.7913,
+ "lon": -55.2447,
+ "isHero": false
+ },
+ {
+ "name": "Itapuca",
+ "codIbge": "4310579",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.7768,
+ "lon": -52.1693,
+ "isHero": false
+ },
+ {
+ "name": "Itaqui",
+ "codIbge": "4310603",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.1311,
+ "lon": -56.5515,
+ "isHero": false
+ },
+ {
+ "name": "Itati",
+ "codIbge": "4310652",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.4974,
+ "lon": -50.1016,
+ "isHero": false
+ },
+ {
+ "name": "Itatiba do Sul",
+ "codIbge": "4310702",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.3846,
+ "lon": -52.4538,
+ "isHero": false
+ },
+ {
+ "name": "Ivorá",
+ "codIbge": "4310751",
+ "capag": "n.d.",
+ "tier": "unrated",
+ "lat": -29.5232,
+ "lon": -53.5842,
+ "isHero": false
+ },
+ {
+ "name": "Ivoti",
+ "codIbge": "4310801",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.5995,
+ "lon": -51.1533,
+ "isHero": false
+ },
+ {
+ "name": "Jaboticaba",
+ "codIbge": "4310850",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.6347,
+ "lon": -53.2762,
+ "isHero": false
+ },
+ {
+ "name": "Jacuizinho",
+ "codIbge": "4310876",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.0401,
+ "lon": -53.0657,
+ "isHero": false
+ },
+ {
+ "name": "Jacutinga",
+ "codIbge": "4310900",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.7291,
+ "lon": -52.5372,
+ "isHero": false
+ },
+ {
+ "name": "Jaguarão",
+ "codIbge": "4311007",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -32.5604,
+ "lon": -53.377,
+ "isHero": false
+ },
+ {
+ "name": "Jaguari",
+ "codIbge": "4311106",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.4936,
+ "lon": -54.703,
+ "isHero": false
+ },
+ {
+ "name": "Jaquirana",
+ "codIbge": "4311122",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.8811,
+ "lon": -50.3637,
+ "isHero": false
+ },
+ {
+ "name": "Jari",
+ "codIbge": "4311130",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.2922,
+ "lon": -54.2237,
+ "isHero": false
+ },
+ {
+ "name": "Jóia",
+ "codIbge": "4311155",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.6435,
+ "lon": -54.1141,
+ "isHero": false
+ },
+ {
+ "name": "Júlio de Castilhos",
+ "codIbge": "4311205",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.2299,
+ "lon": -53.6772,
+ "isHero": false
+ },
+ {
+ "name": "Lagoa Bonita do Sul",
+ "codIbge": "4311239",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.4939,
+ "lon": -53.017,
+ "isHero": false
+ },
+ {
+ "name": "Lagoão",
+ "codIbge": "4311254",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.2348,
+ "lon": -52.7997,
+ "isHero": false
+ },
+ {
+ "name": "Lagoa dos Três Cantos",
+ "codIbge": "4311270",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.5676,
+ "lon": -52.8618,
+ "isHero": false
+ },
+ {
+ "name": "Lagoa Vermelha",
+ "codIbge": "4311304",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.2093,
+ "lon": -51.5248,
+ "isHero": false
+ },
+ {
+ "name": "Lajeado",
+ "codIbge": "4311403",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.4591,
+ "lon": -51.9644,
+ "isHero": false
+ },
+ {
+ "name": "Lajeado do Bugre",
+ "codIbge": "4311429",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.6913,
+ "lon": -53.1818,
+ "isHero": false
+ },
+ {
+ "name": "Lavras do Sul",
+ "codIbge": "4311502",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -30.8071,
+ "lon": -53.8931,
+ "isHero": false
+ },
+ {
+ "name": "Liberato Salzano",
+ "codIbge": "4311601",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.601,
+ "lon": -53.0753,
+ "isHero": false
+ },
+ {
+ "name": "Lindolfo Collor",
+ "codIbge": "4311627",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.5859,
+ "lon": -51.2141,
+ "isHero": false
+ },
+ {
+ "name": "Linha Nova",
+ "codIbge": "4311643",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.4679,
+ "lon": -51.2003,
+ "isHero": false
+ },
+ {
+ "name": "Machadinho",
+ "codIbge": "4311700",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.5667,
+ "lon": -51.6668,
+ "isHero": false
+ },
+ {
+ "name": "Maçambará",
+ "codIbge": "4311718",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.1445,
+ "lon": -56.0674,
+ "isHero": false
+ },
+ {
+ "name": "Mampituba",
+ "codIbge": "4311734",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.2136,
+ "lon": -49.9311,
+ "isHero": false
+ },
+ {
+ "name": "Manoel Viana",
+ "codIbge": "4311759",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.5859,
+ "lon": -55.4841,
+ "isHero": false
+ },
+ {
+ "name": "Maquiné",
+ "codIbge": "4311775",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.6798,
+ "lon": -50.2079,
+ "isHero": false
+ },
+ {
+ "name": "Maratá",
+ "codIbge": "4311791",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.5457,
+ "lon": -51.5573,
+ "isHero": false
+ },
+ {
+ "name": "Marau",
+ "codIbge": "4311809",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.4498,
+ "lon": -52.1986,
+ "isHero": false
+ },
+ {
+ "name": "Marcelino Ramos",
+ "codIbge": "4311908",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.4676,
+ "lon": -51.9095,
+ "isHero": false
+ },
+ {
+ "name": "Mariana Pimentel",
+ "codIbge": "4311981",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -30.353,
+ "lon": -51.5803,
+ "isHero": false
+ },
+ {
+ "name": "Mariano Moro",
+ "codIbge": "4312005",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.3568,
+ "lon": -52.1467,
+ "isHero": false
+ },
+ {
+ "name": "Marques de Souza",
+ "codIbge": "4312054",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.3311,
+ "lon": -52.0973,
+ "isHero": false
+ },
+ {
+ "name": "Mata",
+ "codIbge": "4312104",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.5649,
+ "lon": -54.4641,
+ "isHero": false
+ },
+ {
+ "name": "Mato Castelhano",
+ "codIbge": "4312138",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -28.28,
+ "lon": -52.1932,
+ "isHero": false
+ },
+ {
+ "name": "Mato Leitão",
+ "codIbge": "4312153",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.5285,
+ "lon": -52.1278,
+ "isHero": false
+ },
+ {
+ "name": "Mato Queimado",
+ "codIbge": "4312179",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.252,
+ "lon": -54.6159,
+ "isHero": false
+ },
+ {
+ "name": "Maximiliano de Almeida",
+ "codIbge": "4312203",
+ "capag": "n.d.",
+ "tier": "unrated",
+ "lat": -27.6325,
+ "lon": -51.802,
+ "isHero": false
+ },
+ {
+ "name": "Minas do Leão",
+ "codIbge": "4312252",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -30.1346,
+ "lon": -52.0423,
+ "isHero": false
+ },
+ {
+ "name": "Miraguaí",
+ "codIbge": "4312302",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -27.497,
+ "lon": -53.6891,
+ "isHero": false
+ },
+ {
+ "name": "Montauri",
+ "codIbge": "4312351",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.6462,
+ "lon": -52.0767,
+ "isHero": false
+ },
+ {
+ "name": "Monte Alegre dos Campos",
+ "codIbge": "4312377",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.6805,
+ "lon": -50.7834,
+ "isHero": false
+ },
+ {
+ "name": "Monte Belo do Sul",
+ "codIbge": "4312385",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.1607,
+ "lon": -51.6333,
+ "isHero": false
+ },
+ {
+ "name": "Montenegro",
+ "codIbge": "4312401",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.6824,
+ "lon": -51.4679,
+ "isHero": false
+ },
+ {
+ "name": "Mormaço",
+ "codIbge": "4312427",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.6968,
+ "lon": -52.6999,
+ "isHero": false
+ },
+ {
+ "name": "Morrinhos do Sul",
+ "codIbge": "4312443",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.3578,
+ "lon": -49.9328,
+ "isHero": false
+ },
+ {
+ "name": "Morro Redondo",
+ "codIbge": "4312450",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -31.5887,
+ "lon": -52.6261,
+ "isHero": false
+ },
+ {
+ "name": "Morro Reuter",
+ "codIbge": "4312476",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.5379,
+ "lon": -51.0811,
+ "isHero": false
+ },
+ {
+ "name": "Mostardas",
+ "codIbge": "4312500",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -31.1054,
+ "lon": -50.9167,
+ "isHero": false
+ },
+ {
+ "name": "Muçum",
+ "codIbge": "4312609",
+ "capag": "n.d.",
+ "tier": "unrated",
+ "lat": -29.163,
+ "lon": -51.8714,
+ "isHero": false
+ },
+ {
+ "name": "Muitos Capões",
+ "codIbge": "4312617",
+ "capag": "n.d.",
+ "tier": "unrated",
+ "lat": -28.3132,
+ "lon": -51.1836,
+ "isHero": false
+ },
+ {
+ "name": "Muliterno",
+ "codIbge": "4312625",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.3253,
+ "lon": -51.7697,
+ "isHero": false
+ },
+ {
+ "name": "Não-Me-Toque",
+ "codIbge": "4312658",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.4548,
+ "lon": -52.8182,
+ "isHero": false
+ },
+ {
+ "name": "Nicolau Vergueiro",
+ "codIbge": "4312674",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.5298,
+ "lon": -52.4676,
+ "isHero": false
+ },
+ {
+ "name": "Nonoai",
+ "codIbge": "4312708",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.3689,
+ "lon": -52.7756,
+ "isHero": false
+ },
+ {
+ "name": "Nova Alvorada",
+ "codIbge": "4312757",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.6822,
+ "lon": -52.1631,
+ "isHero": false
+ },
+ {
+ "name": "Nova Araçá",
+ "codIbge": "4312807",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.6537,
+ "lon": -51.7458,
+ "isHero": false
+ },
+ {
+ "name": "Nova Bassano",
+ "codIbge": "4312906",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.7291,
+ "lon": -51.7072,
+ "isHero": false
+ },
+ {
+ "name": "Nova Boa Vista",
+ "codIbge": "4312955",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.9926,
+ "lon": -52.9784,
+ "isHero": false
+ },
+ {
+ "name": "Nova Bréscia",
+ "codIbge": "4313003",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.2182,
+ "lon": -52.0319,
+ "isHero": false
+ },
+ {
+ "name": "Nova Candelária",
+ "codIbge": "4313011",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.6137,
+ "lon": -54.1074,
+ "isHero": false
+ },
+ {
+ "name": "Nova Esperança do Sul",
+ "codIbge": "4313037",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.4066,
+ "lon": -54.8293,
+ "isHero": false
+ },
+ {
+ "name": "Nova Hartz",
+ "codIbge": "4313060",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.5808,
+ "lon": -50.9051,
+ "isHero": false
+ },
+ {
+ "name": "Nova Pádua",
+ "codIbge": "4313086",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.0275,
+ "lon": -51.3098,
+ "isHero": false
+ },
+ {
+ "name": "Nova Palma",
+ "codIbge": "4313102",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.471,
+ "lon": -53.4689,
+ "isHero": false
+ },
+ {
+ "name": "Nova Petrópolis",
+ "codIbge": "4313201",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.3741,
+ "lon": -51.1136,
+ "isHero": false
+ },
+ {
+ "name": "Nova Prata",
+ "codIbge": "4313300",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -28.7799,
+ "lon": -51.6113,
+ "isHero": false
+ },
+ {
+ "name": "Nova Ramada",
+ "codIbge": "4313334",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.0667,
+ "lon": -53.6992,
+ "isHero": false
+ },
+ {
+ "name": "Nova Roma do Sul",
+ "codIbge": "4313359",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.9882,
+ "lon": -51.4095,
+ "isHero": false
+ },
+ {
+ "name": "Nova Santa Rita",
+ "codIbge": "4313375",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.8525,
+ "lon": -51.2837,
+ "isHero": false
+ },
+ {
+ "name": "Novo Cabrais",
+ "codIbge": "4313391",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.7338,
+ "lon": -52.9489,
+ "isHero": false
+ },
+ {
+ "name": "Novo Hamburgo",
+ "codIbge": "4313409",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.6875,
+ "lon": -51.1328,
+ "isHero": false
+ },
+ {
+ "name": "Novo Machado",
+ "codIbge": "4313425",
+ "capag": "n.d.",
+ "tier": "unrated",
+ "lat": -27.5765,
+ "lon": -54.5036,
+ "isHero": false
+ },
+ {
+ "name": "Novo Tiradentes",
+ "codIbge": "4313441",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.5649,
+ "lon": -53.1837,
+ "isHero": false
+ },
+ {
+ "name": "Novo Xingu",
+ "codIbge": "4313466",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.749,
+ "lon": -53.0639,
+ "isHero": false
+ },
+ {
+ "name": "Novo Barreiro",
+ "codIbge": "4313490",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.9077,
+ "lon": -53.1103,
+ "isHero": false
+ },
+ {
+ "name": "Osório",
+ "codIbge": "4313508",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.8881,
+ "lon": -50.2667,
+ "isHero": false
+ },
+ {
+ "name": "Paim Filho",
+ "codIbge": "4313607",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.7075,
+ "lon": -51.763,
+ "isHero": false
+ },
+ {
+ "name": "Palmares do Sul",
+ "codIbge": "4313656",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -30.2535,
+ "lon": -50.5103,
+ "isHero": false
+ },
+ {
+ "name": "Palmeira das Missões",
+ "codIbge": "4313706",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.9007,
+ "lon": -53.3134,
+ "isHero": false
+ },
+ {
+ "name": "Palmitinho",
+ "codIbge": "4313805",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.3596,
+ "lon": -53.558,
+ "isHero": false
+ },
+ {
+ "name": "Panambi",
+ "codIbge": "4313904",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.2833,
+ "lon": -53.5023,
+ "isHero": false
+ },
+ {
+ "name": "Pantano Grande",
+ "codIbge": "4313953",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -30.1902,
+ "lon": -52.3729,
+ "isHero": false
+ },
+ {
+ "name": "Paraí",
+ "codIbge": "4314001",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.5964,
+ "lon": -51.7896,
+ "isHero": false
+ },
+ {
+ "name": "Paraíso do Sul",
+ "codIbge": "4314027",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.6717,
+ "lon": -53.144,
+ "isHero": false
+ },
+ {
+ "name": "Pareci Novo",
+ "codIbge": "4314035",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.6365,
+ "lon": -51.3974,
+ "isHero": false
+ },
+ {
+ "name": "Parobé",
+ "codIbge": "4314050",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.6243,
+ "lon": -50.8312,
+ "isHero": false
+ },
+ {
+ "name": "Passa Sete",
+ "codIbge": "4314068",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.4577,
+ "lon": -52.9599,
+ "isHero": false
+ },
+ {
+ "name": "Passo do Sobrado",
+ "codIbge": "4314076",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.748,
+ "lon": -52.2748,
+ "isHero": false
+ },
+ {
+ "name": "Passo Fundo",
+ "codIbge": "4314100",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.2576,
+ "lon": -52.4091,
+ "isHero": false
+ },
+ {
+ "name": "Paulo Bento",
+ "codIbge": "4314134",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.7051,
+ "lon": -52.4169,
+ "isHero": false
+ },
+ {
+ "name": "Paverama",
+ "codIbge": "4314159",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.5486,
+ "lon": -51.7339,
+ "isHero": false
+ },
+ {
+ "name": "Pedras Altas",
+ "codIbge": "4314175",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -31.7365,
+ "lon": -53.5814,
+ "isHero": false
+ },
+ {
+ "name": "Pedro Osório",
+ "codIbge": "4314209",
+ "capag": "n.d.",
+ "tier": "unrated",
+ "lat": -31.8642,
+ "lon": -52.8184,
+ "isHero": false
+ },
+ {
+ "name": "Pejuçara",
+ "codIbge": "4314308",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -28.4283,
+ "lon": -53.6579,
+ "isHero": false
+ },
+ {
+ "name": "Pelotas",
+ "codIbge": "4314407",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -31.7649,
+ "lon": -52.3371,
+ "isHero": false
+ },
+ {
+ "name": "Picada Café",
+ "codIbge": "4314423",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.4464,
+ "lon": -51.1367,
+ "isHero": false
+ },
+ {
+ "name": "Pinhal",
+ "codIbge": "4314456",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.508,
+ "lon": -53.2082,
+ "isHero": false
+ },
+ {
+ "name": "Pinhal da Serra",
+ "codIbge": "4314464",
+ "capag": "n.d.",
+ "tier": "unrated",
+ "lat": -27.8751,
+ "lon": -51.1673,
+ "isHero": false
+ },
+ {
+ "name": "Pinhal Grande",
+ "codIbge": "4314472",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.345,
+ "lon": -53.3206,
+ "isHero": false
+ },
+ {
+ "name": "Pinheirinho do Vale",
+ "codIbge": "4314498",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -27.2109,
+ "lon": -53.608,
+ "isHero": false
+ },
+ {
+ "name": "Pinheiro Machado",
+ "codIbge": "4314506",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -31.5794,
+ "lon": -53.3798,
+ "isHero": false
+ },
+ {
+ "name": "Pinto Bandeira",
+ "codIbge": "4314548",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.0975,
+ "lon": -51.4503,
+ "isHero": false
+ },
+ {
+ "name": "Pirapó",
+ "codIbge": "4314555",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.0439,
+ "lon": -55.2001,
+ "isHero": false
+ },
+ {
+ "name": "Piratini",
+ "codIbge": "4314605",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -31.4473,
+ "lon": -53.0973,
+ "isHero": false
+ },
+ {
+ "name": "Planalto",
+ "codIbge": "4314704",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.3297,
+ "lon": -53.0575,
+ "isHero": false
+ },
+ {
+ "name": "Poço das Antas",
+ "codIbge": "4314753",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.4481,
+ "lon": -51.6719,
+ "isHero": false
+ },
+ {
+ "name": "Pontão",
+ "codIbge": "4314779",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.0585,
+ "lon": -52.6791,
+ "isHero": false
+ },
+ {
+ "name": "Ponte Preta",
+ "codIbge": "4314787",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.6587,
+ "lon": -52.4848,
+ "isHero": false
+ },
+ {
+ "name": "Portão",
+ "codIbge": "4314803",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.7015,
+ "lon": -51.2429,
+ "isHero": false
+ },
+ {
+ "name": "Porto Alegre",
+ "codIbge": "4314902",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -30.0318,
+ "lon": -51.2065,
+ "isHero": false
+ },
+ {
+ "name": "Porto Lucena",
+ "codIbge": "4315008",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.8569,
+ "lon": -55.01,
+ "isHero": false
+ },
+ {
+ "name": "Porto Mauá",
+ "codIbge": "4315057",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.5796,
+ "lon": -54.6657,
+ "isHero": false
+ },
+ {
+ "name": "Porto Vera Cruz",
+ "codIbge": "4315073",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.7405,
+ "lon": -54.8994,
+ "isHero": false
+ },
+ {
+ "name": "Porto Xavier",
+ "codIbge": "4315107",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.9082,
+ "lon": -55.1379,
+ "isHero": false
+ },
+ {
+ "name": "Pouso Novo",
+ "codIbge": "4315131",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -29.1738,
+ "lon": -52.2136,
+ "isHero": false
+ },
+ {
+ "name": "Presidente Lucena",
+ "codIbge": "4315149",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.5175,
+ "lon": -51.1798,
+ "isHero": false
+ },
+ {
+ "name": "Progresso",
+ "codIbge": "4315156",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.2441,
+ "lon": -52.3197,
+ "isHero": false
+ },
+ {
+ "name": "Protásio Alves",
+ "codIbge": "4315172",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.7572,
+ "lon": -51.4757,
+ "isHero": false
+ },
+ {
+ "name": "Putinga",
+ "codIbge": "4315206",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.0045,
+ "lon": -52.1569,
+ "isHero": false
+ },
+ {
+ "name": "Quaraí",
+ "codIbge": "4315305",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -30.384,
+ "lon": -56.4483,
+ "isHero": false
+ },
+ {
+ "name": "Quatro Irmãos",
+ "codIbge": "4315313",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.8257,
+ "lon": -52.4424,
+ "isHero": false
+ },
+ {
+ "name": "Quevedos",
+ "codIbge": "4315321",
+ "capag": "n.d.",
+ "tier": "unrated",
+ "lat": -29.3504,
+ "lon": -54.0789,
+ "isHero": false
+ },
+ {
+ "name": "Quinze de Novembro",
+ "codIbge": "4315354",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -28.7466,
+ "lon": -53.1011,
+ "isHero": false
+ },
+ {
+ "name": "Redentora",
+ "codIbge": "4315404",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.664,
+ "lon": -53.6407,
+ "isHero": false
+ },
+ {
+ "name": "Relvado",
+ "codIbge": "4315453",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.1164,
+ "lon": -52.0778,
+ "isHero": false
+ },
+ {
+ "name": "Restinga Sêca",
+ "codIbge": "4315503",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.8188,
+ "lon": -53.3807,
+ "isHero": false
+ },
+ {
+ "name": "Rio dos Índios",
+ "codIbge": "4315552",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.2973,
+ "lon": -52.8417,
+ "isHero": false
+ },
+ {
+ "name": "Rio Grande",
+ "codIbge": "4315602",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -32.0349,
+ "lon": -52.1071,
+ "isHero": false
+ },
+ {
+ "name": "Rio Pardo",
+ "codIbge": "4315701",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -29.988,
+ "lon": -52.3711,
+ "isHero": false
+ },
+ {
+ "name": "Riozinho",
+ "codIbge": "4315750",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.639,
+ "lon": -50.4488,
+ "isHero": false
+ },
+ {
+ "name": "Roca Sales",
+ "codIbge": "4315800",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.2884,
+ "lon": -51.8658,
+ "isHero": false
+ },
+ {
+ "name": "Rodeio Bonito",
+ "codIbge": "4315909",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.4742,
+ "lon": -53.1706,
+ "isHero": false
+ },
+ {
+ "name": "Rolador",
+ "codIbge": "4315958",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.2566,
+ "lon": -54.8186,
+ "isHero": false
+ },
+ {
+ "name": "Rolante",
+ "codIbge": "4316006",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.6462,
+ "lon": -50.5819,
+ "isHero": false
+ },
+ {
+ "name": "Ronda Alta",
+ "codIbge": "4316105",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.7758,
+ "lon": -52.8056,
+ "isHero": false
+ },
+ {
+ "name": "Rondinha",
+ "codIbge": "4316204",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.8315,
+ "lon": -52.9081,
+ "isHero": false
+ },
+ {
+ "name": "Roque Gonzales",
+ "codIbge": "4316303",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.1297,
+ "lon": -55.0266,
+ "isHero": false
+ },
+ {
+ "name": "Rosário do Sul",
+ "codIbge": "4316402",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -30.2515,
+ "lon": -54.9221,
+ "isHero": false
+ },
+ {
+ "name": "Sagrada Família",
+ "codIbge": "4316428",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.7085,
+ "lon": -53.1351,
+ "isHero": false
+ },
+ {
+ "name": "Saldanha Marinho",
+ "codIbge": "4316436",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -28.3941,
+ "lon": -53.097,
+ "isHero": false
+ },
+ {
+ "name": "Salto do Jacuí",
+ "codIbge": "4316451",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.0951,
+ "lon": -53.2133,
+ "isHero": false
+ },
+ {
+ "name": "Salvador das Missões",
+ "codIbge": "4316477",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.1233,
+ "lon": -54.8373,
+ "isHero": false
+ },
+ {
+ "name": "Salvador do Sul",
+ "codIbge": "4316501",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.4386,
+ "lon": -51.5077,
+ "isHero": false
+ },
+ {
+ "name": "Sananduva",
+ "codIbge": "4316600",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.947,
+ "lon": -51.8079,
+ "isHero": false
+ },
+ {
+ "name": "Santa Bárbara do Sul",
+ "codIbge": "4316709",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.3653,
+ "lon": -53.251,
+ "isHero": false
+ },
+ {
+ "name": "Santa Cecília do Sul",
+ "codIbge": "4316733",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.1609,
+ "lon": -51.9279,
+ "isHero": false
+ },
+ {
+ "name": "Santa Clara do Sul",
+ "codIbge": "4316758",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.4747,
+ "lon": -52.0843,
+ "isHero": false
+ },
+ {
+ "name": "Santa Cruz do Sul",
+ "codIbge": "4316808",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.722,
+ "lon": -52.4343,
+ "isHero": false
+ },
+ {
+ "name": "Santa Maria",
+ "codIbge": "4316907",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.6868,
+ "lon": -53.8149,
+ "isHero": false
+ },
+ {
+ "name": "Santa Maria do Herval",
+ "codIbge": "4316956",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.4902,
+ "lon": -50.9919,
+ "isHero": false
+ },
+ {
+ "name": "Santa Margarida do Sul",
+ "codIbge": "4316972",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -30.3393,
+ "lon": -54.0817,
+ "isHero": false
+ },
+ {
+ "name": "Santana da Boa Vista",
+ "codIbge": "4317004",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -30.8697,
+ "lon": -53.11,
+ "isHero": false
+ },
+ {
+ "name": "Sant'Ana do Livramento",
+ "codIbge": "4317103",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -30.8773,
+ "lon": -55.5392,
+ "isHero": false
+ },
+ {
+ "name": "Santa Rosa",
+ "codIbge": "4317202",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.8702,
+ "lon": -54.4796,
+ "isHero": false
+ },
+ {
+ "name": "Santa Tereza",
+ "codIbge": "4317251",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.1655,
+ "lon": -51.7351,
+ "isHero": false
+ },
+ {
+ "name": "Santa Vitória do Palmar",
+ "codIbge": "4317301",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -33.525,
+ "lon": -53.3717,
+ "isHero": false
+ },
+ {
+ "name": "Santiago",
+ "codIbge": "4317400",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.1897,
+ "lon": -54.8666,
+ "isHero": false
+ },
+ {
+ "name": "Santo Ângelo",
+ "codIbge": "4317509",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -28.3001,
+ "lon": -54.2668,
+ "isHero": false
+ },
+ {
+ "name": "Santo Antônio do Palma",
+ "codIbge": "4317558",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -28.4956,
+ "lon": -52.0267,
+ "isHero": false
+ },
+ {
+ "name": "Santo Antônio da Patrulha",
+ "codIbge": "4317608",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -29.8268,
+ "lon": -50.5175,
+ "isHero": false
+ },
+ {
+ "name": "Santo Antônio das Missões",
+ "codIbge": "4317707",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.514,
+ "lon": -55.2251,
+ "isHero": false
+ },
+ {
+ "name": "Santo Antônio do Planalto",
+ "codIbge": "4317756",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.403,
+ "lon": -52.6992,
+ "isHero": false
+ },
+ {
+ "name": "Santo Augusto",
+ "codIbge": "4317806",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.8526,
+ "lon": -53.7776,
+ "isHero": false
+ },
+ {
+ "name": "Santo Cristo",
+ "codIbge": "4317905",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.8263,
+ "lon": -54.662,
+ "isHero": false
+ },
+ {
+ "name": "Santo Expedito do Sul",
+ "codIbge": "4317954",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.9074,
+ "lon": -51.6434,
+ "isHero": false
+ },
+ {
+ "name": "São Borja",
+ "codIbge": "4318002",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -28.6578,
+ "lon": -56.0036,
+ "isHero": false
+ },
+ {
+ "name": "São Domingos do Sul",
+ "codIbge": "4318051",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.5312,
+ "lon": -51.886,
+ "isHero": false
+ },
+ {
+ "name": "São Francisco de Assis",
+ "codIbge": "4318101",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -29.5547,
+ "lon": -55.1253,
+ "isHero": false
+ },
+ {
+ "name": "São Francisco de Paula",
+ "codIbge": "4318200",
+ "capag": "n.d.",
+ "tier": "unrated",
+ "lat": -29.4404,
+ "lon": -50.5828,
+ "isHero": false
+ },
+ {
+ "name": "São Gabriel",
+ "codIbge": "4318309",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -30.3337,
+ "lon": -54.3217,
+ "isHero": false
+ },
+ {
+ "name": "São Jerônimo",
+ "codIbge": "4318408",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.9716,
+ "lon": -51.7251,
+ "isHero": false
+ },
+ {
+ "name": "São João da Urtiga",
+ "codIbge": "4318424",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.8195,
+ "lon": -51.8257,
+ "isHero": false
+ },
+ {
+ "name": "São João do Polêsine",
+ "codIbge": "4318432",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.6194,
+ "lon": -53.4439,
+ "isHero": false
+ },
+ {
+ "name": "São Jorge",
+ "codIbge": "4318440",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.4984,
+ "lon": -51.7064,
+ "isHero": false
+ },
+ {
+ "name": "São José das Missões",
+ "codIbge": "4318457",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.7789,
+ "lon": -53.1226,
+ "isHero": false
+ },
+ {
+ "name": "São José do Herval",
+ "codIbge": "4318465",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.052,
+ "lon": -52.295,
+ "isHero": false
+ },
+ {
+ "name": "São José do Hortêncio",
+ "codIbge": "4318481",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.528,
+ "lon": -51.245,
+ "isHero": false
+ },
+ {
+ "name": "São José do Inhacorá",
+ "codIbge": "4318499",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.7251,
+ "lon": -54.1275,
+ "isHero": false
+ },
+ {
+ "name": "São José do Norte",
+ "codIbge": "4318507",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -32.0151,
+ "lon": -52.0331,
+ "isHero": false
+ },
+ {
+ "name": "São José do Ouro",
+ "codIbge": "4318606",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -27.7707,
+ "lon": -51.5966,
+ "isHero": false
+ },
+ {
+ "name": "São José do Sul",
+ "codIbge": "4318614",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.5448,
+ "lon": -51.4821,
+ "isHero": false
+ },
+ {
+ "name": "São José dos Ausentes",
+ "codIbge": "4318622",
+ "capag": "n.d.",
+ "tier": "unrated",
+ "lat": -28.7476,
+ "lon": -50.0677,
+ "isHero": false
+ },
+ {
+ "name": "São Leopoldo",
+ "codIbge": "4318705",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.7545,
+ "lon": -51.1498,
+ "isHero": false
+ },
+ {
+ "name": "São Lourenço do Sul",
+ "codIbge": "4318804",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -31.3564,
+ "lon": -51.9715,
+ "isHero": false
+ },
+ {
+ "name": "São Luiz Gonzaga",
+ "codIbge": "4318903",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.412,
+ "lon": -54.9559,
+ "isHero": false
+ },
+ {
+ "name": "São Marcos",
+ "codIbge": "4319000",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.9677,
+ "lon": -51.0696,
+ "isHero": false
+ },
+ {
+ "name": "São Martinho",
+ "codIbge": "4319109",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.7112,
+ "lon": -53.9699,
+ "isHero": false
+ },
+ {
+ "name": "São Martinho da Serra",
+ "codIbge": "4319125",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.5397,
+ "lon": -53.859,
+ "isHero": false
+ },
+ {
+ "name": "São Miguel das Missões",
+ "codIbge": "4319158",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.556,
+ "lon": -54.5559,
+ "isHero": false
+ },
+ {
+ "name": "São Nicolau",
+ "codIbge": "4319208",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.1834,
+ "lon": -55.2654,
+ "isHero": false
+ },
+ {
+ "name": "São Paulo das Missões",
+ "codIbge": "4319307",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -28.0195,
+ "lon": -54.9404,
+ "isHero": false
+ },
+ {
+ "name": "São Pedro da Serra",
+ "codIbge": "4319356",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.4193,
+ "lon": -51.5134,
+ "isHero": false
+ },
+ {
+ "name": "São Pedro das Missões",
+ "codIbge": "4319364",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.7706,
+ "lon": -53.2513,
+ "isHero": false
+ },
+ {
+ "name": "São Pedro do Butiá",
+ "codIbge": "4319372",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.1243,
+ "lon": -54.8926,
+ "isHero": false
+ },
+ {
+ "name": "São Pedro do Sul",
+ "codIbge": "4319406",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.6202,
+ "lon": -54.1855,
+ "isHero": false
+ },
+ {
+ "name": "São Sebastião do Caí",
+ "codIbge": "4319505",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.5885,
+ "lon": -51.3749,
+ "isHero": false
+ },
+ {
+ "name": "São Sepé",
+ "codIbge": "4319604",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -30.1643,
+ "lon": -53.5603,
+ "isHero": false
+ },
+ {
+ "name": "São Valentim",
+ "codIbge": "4319703",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.5583,
+ "lon": -52.5237,
+ "isHero": false
+ },
+ {
+ "name": "São Valentim do Sul",
+ "codIbge": "4319711",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.0451,
+ "lon": -51.7684,
+ "isHero": false
+ },
+ {
+ "name": "São Valério do Sul",
+ "codIbge": "4319737",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.7906,
+ "lon": -53.9368,
+ "isHero": false
+ },
+ {
+ "name": "São Vendelino",
+ "codIbge": "4319752",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.3729,
+ "lon": -51.3675,
+ "isHero": false
+ },
+ {
+ "name": "São Vicente do Sul",
+ "codIbge": "4319802",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.6882,
+ "lon": -54.6826,
+ "isHero": false
+ },
+ {
+ "name": "Sapiranga",
+ "codIbge": "4319901",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.6349,
+ "lon": -51.0064,
+ "isHero": false
+ },
+ {
+ "name": "Sapucaia do Sul",
+ "codIbge": "4320008",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.8276,
+ "lon": -51.145,
+ "isHero": false
+ },
+ {
+ "name": "Sarandi",
+ "codIbge": "4320107",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -27.942,
+ "lon": -52.9231,
+ "isHero": false
+ },
+ {
+ "name": "Seberi",
+ "codIbge": "4320206",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -27.4829,
+ "lon": -53.4026,
+ "isHero": false
+ },
+ {
+ "name": "Sede Nova",
+ "codIbge": "4320230",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.6367,
+ "lon": -53.9493,
+ "isHero": false
+ },
+ {
+ "name": "Segredo",
+ "codIbge": "4320263",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.3523,
+ "lon": -52.9767,
+ "isHero": false
+ },
+ {
+ "name": "Selbach",
+ "codIbge": "4320305",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.6294,
+ "lon": -52.9498,
+ "isHero": false
+ },
+ {
+ "name": "Senador Salgado Filho",
+ "codIbge": "4320321",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.025,
+ "lon": -54.5507,
+ "isHero": false
+ },
+ {
+ "name": "Sentinela do Sul",
+ "codIbge": "4320354",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -30.6107,
+ "lon": -51.5862,
+ "isHero": false
+ },
+ {
+ "name": "Serafina Corrêa",
+ "codIbge": "4320404",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.7126,
+ "lon": -51.9352,
+ "isHero": false
+ },
+ {
+ "name": "Sério",
+ "codIbge": "4320453",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.3904,
+ "lon": -52.2685,
+ "isHero": false
+ },
+ {
+ "name": "Sertão",
+ "codIbge": "4320503",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.9798,
+ "lon": -52.2588,
+ "isHero": false
+ },
+ {
+ "name": "Sertão Santana",
+ "codIbge": "4320552",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -30.4562,
+ "lon": -51.6017,
+ "isHero": false
+ },
+ {
+ "name": "Sete de Setembro",
+ "codIbge": "4320578",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.1362,
+ "lon": -54.4637,
+ "isHero": false
+ },
+ {
+ "name": "Severiano de Almeida",
+ "codIbge": "4320602",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.4362,
+ "lon": -52.1217,
+ "isHero": false
+ },
+ {
+ "name": "Silveira Martins",
+ "codIbge": "4320651",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.6467,
+ "lon": -53.591,
+ "isHero": false
+ },
+ {
+ "name": "Sinimbu",
+ "codIbge": "4320677",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.5357,
+ "lon": -52.5304,
+ "isHero": false
+ },
+ {
+ "name": "Sobradinho",
+ "codIbge": "4320701",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.4194,
+ "lon": -53.0326,
+ "isHero": false
+ },
+ {
+ "name": "Soledade",
+ "codIbge": "4320800",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.8306,
+ "lon": -52.5131,
+ "isHero": false
+ },
+ {
+ "name": "Tabaí",
+ "codIbge": "4320859",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.643,
+ "lon": -51.6823,
+ "isHero": false
+ },
+ {
+ "name": "Tapejara",
+ "codIbge": "4320909",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.0652,
+ "lon": -52.0097,
+ "isHero": false
+ },
+ {
+ "name": "Tapera",
+ "codIbge": "4321006",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.6277,
+ "lon": -52.8613,
+ "isHero": false
+ },
+ {
+ "name": "Tapes",
+ "codIbge": "4321105",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -30.6683,
+ "lon": -51.3991,
+ "isHero": false
+ },
+ {
+ "name": "Taquara",
+ "codIbge": "4321204",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.6505,
+ "lon": -50.7753,
+ "isHero": false
+ },
+ {
+ "name": "Taquari",
+ "codIbge": "4321303",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.7943,
+ "lon": -51.8653,
+ "isHero": false
+ },
+ {
+ "name": "Taquaruçu do Sul",
+ "codIbge": "4321329",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.4005,
+ "lon": -53.4702,
+ "isHero": false
+ },
+ {
+ "name": "Tavares",
+ "codIbge": "4321352",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -31.2843,
+ "lon": -51.088,
+ "isHero": false
+ },
+ {
+ "name": "Tenente Portela",
+ "codIbge": "4321402",
+ "capag": "n.d.",
+ "tier": "unrated",
+ "lat": -27.3711,
+ "lon": -53.7585,
+ "isHero": false
+ },
+ {
+ "name": "Terra de Areia",
+ "codIbge": "4321436",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.5782,
+ "lon": -50.0644,
+ "isHero": false
+ },
+ {
+ "name": "Teutônia",
+ "codIbge": "4321451",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.4482,
+ "lon": -51.8044,
+ "isHero": false
+ },
+ {
+ "name": "Tio Hugo",
+ "codIbge": "4321469",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.5712,
+ "lon": -52.5955,
+ "isHero": false
+ },
+ {
+ "name": "Tiradentes do Sul",
+ "codIbge": "4321477",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.4022,
+ "lon": -54.0814,
+ "isHero": false
+ },
+ {
+ "name": "Toropi",
+ "codIbge": "4321493",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.4782,
+ "lon": -54.2244,
+ "isHero": false
+ },
+ {
+ "name": "Torres",
+ "codIbge": "4321501",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.3334,
+ "lon": -49.7333,
+ "isHero": false
+ },
+ {
+ "name": "Tramandaí",
+ "codIbge": "4321600",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.9841,
+ "lon": -50.1322,
+ "isHero": false
+ },
+ {
+ "name": "Travesseiro",
+ "codIbge": "4321626",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.2977,
+ "lon": -52.0532,
+ "isHero": false
+ },
+ {
+ "name": "Três Arroios",
+ "codIbge": "4321634",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.5003,
+ "lon": -52.1448,
+ "isHero": false
+ },
+ {
+ "name": "Três Cachoeiras",
+ "codIbge": "4321667",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.4487,
+ "lon": -49.9275,
+ "isHero": false
+ },
+ {
+ "name": "Três Coroas",
+ "codIbge": "4321709",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -29.5137,
+ "lon": -50.7739,
+ "isHero": false
+ },
+ {
+ "name": "Três de Maio",
+ "codIbge": "4321808",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.78,
+ "lon": -54.2357,
+ "isHero": false
+ },
+ {
+ "name": "Três Forquilhas",
+ "codIbge": "4321832",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.5384,
+ "lon": -50.0708,
+ "isHero": false
+ },
+ {
+ "name": "Três Palmeiras",
+ "codIbge": "4321857",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.6139,
+ "lon": -52.8437,
+ "isHero": false
+ },
+ {
+ "name": "Três Passos",
+ "codIbge": "4321907",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.4555,
+ "lon": -53.9296,
+ "isHero": false
+ },
+ {
+ "name": "Trindade do Sul",
+ "codIbge": "4321956",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.5239,
+ "lon": -52.8956,
+ "isHero": false
+ },
+ {
+ "name": "Triunfo",
+ "codIbge": "4322004",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.9291,
+ "lon": -51.7075,
+ "isHero": false
+ },
+ {
+ "name": "Tucunduva",
+ "codIbge": "4322103",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.6573,
+ "lon": -54.4439,
+ "isHero": false
+ },
+ {
+ "name": "Tunas",
+ "codIbge": "4322152",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.1039,
+ "lon": -52.9538,
+ "isHero": false
+ },
+ {
+ "name": "Tupanci do Sul",
+ "codIbge": "4322186",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -27.9241,
+ "lon": -51.5383,
+ "isHero": false
+ },
+ {
+ "name": "Tupanciretã",
+ "codIbge": "4322202",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.0858,
+ "lon": -53.8445,
+ "isHero": false
+ },
+ {
+ "name": "Tupandi",
+ "codIbge": "4322251",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.4772,
+ "lon": -51.4174,
+ "isHero": false
+ },
+ {
+ "name": "Tuparendi",
+ "codIbge": "4322301",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.7598,
+ "lon": -54.4814,
+ "isHero": false
+ },
+ {
+ "name": "Turuçu",
+ "codIbge": "4322327",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -31.4173,
+ "lon": -52.1706,
+ "isHero": false
+ },
+ {
+ "name": "Ubiretama",
+ "codIbge": "4322343",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.0404,
+ "lon": -54.686,
+ "isHero": false
+ },
+ {
+ "name": "União da Serra",
+ "codIbge": "4322350",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.7833,
+ "lon": -52.0238,
+ "isHero": false
+ },
+ {
+ "name": "Unistalda",
+ "codIbge": "4322376",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.04,
+ "lon": -55.1517,
+ "isHero": false
+ },
+ {
+ "name": "Uruguaiana",
+ "codIbge": "4322400",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -29.7614,
+ "lon": -57.0853,
+ "isHero": false
+ },
+ {
+ "name": "Vacaria",
+ "codIbge": "4322509",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -28.5079,
+ "lon": -50.9418,
+ "isHero": false
+ },
+ {
+ "name": "Vale Verde",
+ "codIbge": "4322525",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.7864,
+ "lon": -52.1857,
+ "isHero": false
+ },
+ {
+ "name": "Vale do Sol",
+ "codIbge": "4322533",
+ "capag": "B+",
+ "tier": "bankable",
+ "lat": -29.5967,
+ "lon": -52.6839,
+ "isHero": false
+ },
+ {
+ "name": "Vale Real",
+ "codIbge": "4322541",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.3919,
+ "lon": -51.2559,
+ "isHero": false
+ },
+ {
+ "name": "Vanini",
+ "codIbge": "4322558",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.4758,
+ "lon": -51.8447,
+ "isHero": false
+ },
+ {
+ "name": "Venâncio Aires",
+ "codIbge": "4322608",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.6143,
+ "lon": -52.1932,
+ "isHero": false
+ },
+ {
+ "name": "Vera Cruz",
+ "codIbge": "4322707",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -29.7184,
+ "lon": -52.5152,
+ "isHero": false
+ },
+ {
+ "name": "Veranópolis",
+ "codIbge": "4322806",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.9312,
+ "lon": -51.5516,
+ "isHero": false
+ },
+ {
+ "name": "Vespasiano Corrêa",
+ "codIbge": "4322855",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -29.0655,
+ "lon": -51.8625,
+ "isHero": false
+ },
+ {
+ "name": "Viadutos",
+ "codIbge": "4322905",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -27.5716,
+ "lon": -52.0211,
+ "isHero": false
+ },
+ {
+ "name": "Viamão",
+ "codIbge": "4323002",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -30.0819,
+ "lon": -51.0194,
+ "isHero": false
+ },
+ {
+ "name": "Vicente Dutra",
+ "codIbge": "4323101",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.1607,
+ "lon": -53.4022,
+ "isHero": false
+ },
+ {
+ "name": "Victor Graeff",
+ "codIbge": "4323200",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.5632,
+ "lon": -52.7495,
+ "isHero": false
+ },
+ {
+ "name": "Vila Flores",
+ "codIbge": "4323309",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -28.8598,
+ "lon": -51.5504,
+ "isHero": false
+ },
+ {
+ "name": "Vila Lângaro",
+ "codIbge": "4323358",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.1062,
+ "lon": -52.1438,
+ "isHero": false
+ },
+ {
+ "name": "Vila Maria",
+ "codIbge": "4323408",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -28.5359,
+ "lon": -52.1486,
+ "isHero": false
+ },
+ {
+ "name": "Vila Nova do Sul",
+ "codIbge": "4323457",
+ "capag": "A+",
+ "tier": "bankable",
+ "lat": -30.3461,
+ "lon": -53.876,
+ "isHero": false
+ },
+ {
+ "name": "Vista Alegre",
+ "codIbge": "4323507",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.3686,
+ "lon": -53.4919,
+ "isHero": false
+ },
+ {
+ "name": "Vista Alegre do Prata",
+ "codIbge": "4323606",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -28.8052,
+ "lon": -51.7947,
+ "isHero": false
+ },
+ {
+ "name": "Vista Gaúcha",
+ "codIbge": "4323705",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -27.2902,
+ "lon": -53.6974,
+ "isHero": false
+ },
+ {
+ "name": "Vitória das Missões",
+ "codIbge": "4323754",
+ "capag": "C",
+ "tier": "constrained",
+ "lat": -28.3516,
+ "lon": -54.504,
+ "isHero": false
+ },
+ {
+ "name": "Westfália",
+ "codIbge": "4323770",
+ "capag": "A",
+ "tier": "bankable",
+ "lat": -29.4263,
+ "lon": -51.7645,
+ "isHero": false
+ },
+ {
+ "name": "Xangri-lá",
+ "codIbge": "4323804",
+ "capag": "B",
+ "tier": "bankable",
+ "lat": -29.8065,
+ "lon": -50.0519,
+ "isHero": false
+ }
+ ],
+ "legend": [
+ {
+ "tier": "bankable",
+ "label": "CAPAG A/B — bankable (guaranteed credit)",
+ "count": 404
+ },
+ {
+ "tier": "constrained",
+ "label": "CAPAG C/D — creditless (grants / blended)",
+ "count": 76
+ },
+ {
+ "tier": "unrated",
+ "label": "n.d. — unrated (TA first)",
+ "count": 17
+ }
+ ]
+}
\ No newline at end of file
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/data/valdivia.json b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/data/valdivia.json
new file mode 100644
index 0000000..3eb2bc7
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/data/valdivia.json
@@ -0,0 +1,433 @@
+{
+ "generated": "2026-06-12",
+ "source": "City-Funder Matching Engine (Amanda/Ayinawu/Brian/Cephas) — derived/ CSVs; capacity from SINIM/FCM, locode-keyed",
+ "heroCity": "Valdivia",
+ "heroLocode": "CL ZAL",
+ "comunas": [
+ {
+ "id": "SNG-CLZAL",
+ "name": "Valdivia",
+ "locode": "CL ZAL",
+ "cityId": "62gvqzr8df70vknj13re",
+ "country": "Chile",
+ "iso": "CL",
+ "type": "City",
+ "population": 166958,
+ "isAnchor": true,
+ "cofinanceScore": 65.7,
+ "anchorScore": 82.2,
+ "readiness": {
+ "fiscalHealth": 74,
+ "governance": 58,
+ "creditworthiness": 70,
+ "legalCapacity": 80
+ },
+ "provenance": {
+ "fiscalHealth": "real:SINIM/FCM (composite_score)",
+ "governance": "real:SINIM (professionalization + capacity)",
+ "creditworthiness": "estimated:capacity proxy (no CL municipal rating)",
+ "legalCapacity": "intake:legal opinion"
+ },
+ "signals": {
+ "capagRating": null,
+ "ownSourceRevenuePct": 43,
+ "debtServiceRatioPct": null,
+ "currentBalancePct": null,
+ "independentAudit": true,
+ "canBorrowWithoutSovereignGuarantee": true
+ },
+ "proposal": {
+ "title": "Zero-emission urban transport (e-bus + BRT)",
+ "sector": "transport",
+ "askUSDm": 8,
+ "stage": "Readiness Review",
+ "cofinance": false
+ }
+ },
+ {
+ "id": "SNG-CLPAO",
+ "name": "Paillaco",
+ "locode": "CL PAO",
+ "cityId": "62uhn2tnhkg18mgfe4pe",
+ "country": "Chile",
+ "iso": "CL",
+ "type": "City",
+ "population": 19719,
+ "isAnchor": false,
+ "cofinanceScore": 43.5,
+ "anchorScore": 63.6,
+ "readiness": {
+ "fiscalHealth": 54,
+ "governance": 55,
+ "creditworthiness": 51,
+ "legalCapacity": 45
+ },
+ "provenance": {
+ "fiscalHealth": "real:SINIM/FCM (composite_score)",
+ "governance": "real:SINIM (professionalization + capacity)",
+ "creditworthiness": "estimated:capacity proxy (no CL municipal rating)",
+ "legalCapacity": "intake:legal opinion"
+ },
+ "signals": {
+ "capagRating": null,
+ "ownSourceRevenuePct": 33,
+ "debtServiceRatioPct": null,
+ "currentBalancePct": null,
+ "independentAudit": false,
+ "canBorrowWithoutSovereignGuarantee": false
+ },
+ "proposal": {
+ "title": "Zero-emission urban transport (e-bus + BRT)",
+ "sector": "transport",
+ "askUSDm": 3,
+ "stage": "Readiness Review",
+ "cofinance": false
+ }
+ },
+ {
+ "id": "SNG-CLLLG",
+ "name": "Los Lagos",
+ "locode": "CL LLG",
+ "cityId": "62umhur7qh5p808vkbem",
+ "country": "Chile",
+ "iso": "CL",
+ "type": "City",
+ "population": 21421,
+ "isAnchor": false,
+ "cofinanceScore": 42.8,
+ "anchorScore": 45.2,
+ "readiness": {
+ "fiscalHealth": 44,
+ "governance": 41,
+ "creditworthiness": 42,
+ "legalCapacity": 45
+ },
+ "provenance": {
+ "fiscalHealth": "real:SINIM/FCM (composite_score)",
+ "governance": "real:SINIM (professionalization + capacity)",
+ "creditworthiness": "estimated:capacity proxy (no CL municipal rating)",
+ "legalCapacity": "intake:legal opinion"
+ },
+ "signals": {
+ "capagRating": null,
+ "ownSourceRevenuePct": 32,
+ "debtServiceRatioPct": null,
+ "currentBalancePct": null,
+ "independentAudit": false,
+ "canBorrowWithoutSovereignGuarantee": false
+ },
+ "proposal": {
+ "title": "Zero-emission urban transport (e-bus + BRT)",
+ "sector": "transport",
+ "askUSDm": 3,
+ "stage": "Readiness Review",
+ "cofinance": false
+ }
+ },
+ {
+ "id": "SNG-CLCRR",
+ "name": "Corral",
+ "locode": "CL CRR",
+ "cityId": "62gud2hq4rrsvur4btdn",
+ "country": "Chile",
+ "iso": "CL",
+ "type": "City",
+ "population": 5493,
+ "isAnchor": false,
+ "cofinanceScore": 10.7,
+ "anchorScore": 27.9,
+ "readiness": {
+ "fiscalHealth": 19,
+ "governance": 32,
+ "creditworthiness": 18,
+ "legalCapacity": 45
+ },
+ "provenance": {
+ "fiscalHealth": "real:SINIM/FCM (composite_score)",
+ "governance": "real:SINIM (professionalization + capacity)",
+ "creditworthiness": "estimated:capacity proxy (no CL municipal rating)",
+ "legalCapacity": "intake:legal opinion"
+ },
+ "signals": {
+ "capagRating": null,
+ "ownSourceRevenuePct": 12,
+ "debtServiceRatioPct": null,
+ "currentBalancePct": null,
+ "independentAudit": false,
+ "canBorrowWithoutSovereignGuarantee": false
+ },
+ "proposal": {
+ "title": "Zero-emission urban transport (e-bus + BRT)",
+ "sector": "transport",
+ "askUSDm": 3,
+ "stage": "Readiness Review",
+ "cofinance": false
+ }
+ },
+ {
+ "id": "SNG-CLMAF",
+ "name": "Máfil",
+ "locode": "CL MAF",
+ "cityId": "62unjyq2bu87wkf13yp2",
+ "country": "Chile",
+ "iso": "CL",
+ "type": "City",
+ "population": 8036,
+ "isAnchor": false,
+ "cofinanceScore": 25.5,
+ "anchorScore": 22.5,
+ "readiness": {
+ "fiscalHealth": 24,
+ "governance": 31,
+ "creditworthiness": 23,
+ "legalCapacity": 45
+ },
+ "provenance": {
+ "fiscalHealth": "real:SINIM/FCM (composite_score)",
+ "governance": "real:SINIM (professionalization + capacity)",
+ "creditworthiness": "estimated:capacity proxy (no CL municipal rating)",
+ "legalCapacity": "intake:legal opinion"
+ },
+ "signals": {
+ "capagRating": null,
+ "ownSourceRevenuePct": 20,
+ "debtServiceRatioPct": null,
+ "currentBalancePct": null,
+ "independentAudit": false,
+ "canBorrowWithoutSovereignGuarantee": false
+ },
+ "proposal": {
+ "title": "Zero-emission urban transport (e-bus + BRT)",
+ "sector": "transport",
+ "askUSDm": 3,
+ "stage": "Readiness Review",
+ "cofinance": false
+ }
+ },
+ {
+ "id": "SNG-",
+ "name": "Mariquina",
+ "locode": null,
+ "cityId": null,
+ "country": "Chile",
+ "iso": "CL",
+ "type": "City",
+ "population": null,
+ "isAnchor": false,
+ "cofinanceScore": null,
+ "anchorScore": null,
+ "readiness": {
+ "fiscalHealth": 40,
+ "governance": 40,
+ "creditworthiness": 35,
+ "legalCapacity": 45
+ },
+ "provenance": {
+ "fiscalHealth": "real:SINIM/FCM (composite_score)",
+ "governance": "real:SINIM (professionalization + capacity)",
+ "creditworthiness": "estimated:capacity proxy (no CL municipal rating)",
+ "legalCapacity": "intake:legal opinion"
+ },
+ "signals": {
+ "capagRating": null,
+ "ownSourceRevenuePct": null,
+ "debtServiceRatioPct": null,
+ "currentBalancePct": null,
+ "independentAudit": false,
+ "canBorrowWithoutSovereignGuarantee": false
+ },
+ "proposal": {
+ "title": "Zero-emission urban transport (e-bus + BRT)",
+ "sector": "transport",
+ "askUSDm": 3,
+ "stage": "Readiness Review",
+ "cofinance": false
+ }
+ }
+ ],
+ "funders": {
+ "counts": {
+ "applicant": 52,
+ "facilitator": 1,
+ "referrer": 25,
+ "total": 78
+ },
+ "sample": [
+ {
+ "program": "FPR 2026 - Fondo para el Reciclaje",
+ "funder": "Ministerio del Medio Ambiente (MMA)",
+ "role": "applicant"
+ },
+ {
+ "program": "FPR 2025 – Fondo para el Reciclaje 2025",
+ "funder": "Ministerio del Medio Ambiente (MMA)",
+ "role": "applicant"
+ },
+ {
+ "program": "FPR 2024 – Fondo para el Reciclaje 2024",
+ "funder": "Ministerio del Medio Ambiente (MMA)",
+ "role": "applicant"
+ },
+ {
+ "program": "FPR 2023 – Fondo para el Reciclaje",
+ "funder": "Ministerio del Medio Ambiente (MMA)",
+ "role": "applicant"
+ },
+ {
+ "program": "FPR 2022 Exequiel Estay – Recicladores de Base",
+ "funder": "Ministerio del Medio Ambiente (MMA)",
+ "role": "applicant"
+ },
+ {
+ "program": "FPR 2021 Exequiel Estay – Recicladores de Base",
+ "funder": "Ministerio del Medio Ambiente (MMA)",
+ "role": "applicant"
+ },
+ {
+ "program": "FPR 2020 – Promoviendo la economía circular en municipios a través del reciclaje",
+ "funder": "Ministerio del Medio Ambiente (MMA)",
+ "role": "applicant"
+ },
+ {
+ "program": "FPR 2020 Exequiel Estay – Recicladores de Base",
+ "funder": "Ministerio del Medio Ambiente (MMA)",
+ "role": "applicant"
+ },
+ {
+ "program": "FPR 2020 – Fondo para el Reciclaje Chiloé 2020",
+ "funder": "Ministerio del Medio Ambiente (MMA)",
+ "role": "applicant"
+ },
+ {
+ "program": "Asistencia Técnica para Municipios en Gestión Energética Local",
+ "funder": "Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",
+ "role": "applicant"
+ },
+ {
+ "program": "Parque Solar Comunitario",
+ "funder": "Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",
+ "role": "applicant"
+ },
+ {
+ "program": "Mejor Escuela (energías renovables / acond. térmico escuelas)",
+ "funder": "Ministerio de Energía / Agencia de Sostenibilidad Energética (AgenciaSE, fundación de derecho privado)",
+ "role": "applicant"
+ },
+ {
+ "program": "Programa de Mejoramiento Urbano y Equipamiento Comunal (PMU)",
+ "funder": "SUBDERE (Subsecretaría de Desarrollo Regional y Administrativo)",
+ "role": "applicant"
+ },
+ {
+ "program": "Programa de Mejoramiento de Barrios (PMB)",
+ "funder": "SUBDERE",
+ "role": "applicant"
+ }
+ ]
+ },
+ "transportGap": {
+ "nActions": 8,
+ "bestFit": 0.61,
+ "bestFunder": "Programa de Prevención y Mitigación de Riesgos (PMR)",
+ "actions": [
+ {
+ "id": "icare_0117",
+ "action": "Improve public transport systems to promote modal shift",
+ "combined": 0.61
+ },
+ {
+ "id": "icare_0121",
+ "action": "Incentive to create bike-sharing programs in urban areas, wi",
+ "combined": 0.61
+ },
+ {
+ "id": "icare_0139",
+ "action": "Implement congestion pricing and restrictions on high-pollut",
+ "combined": 0.61
+ },
+ {
+ "id": "c40_0023",
+ "action": "Adopt zero-emission bus fleets for public transport",
+ "combined": 0.61
+ },
+ {
+ "id": "c40_0025",
+ "action": "Promote deployment of zero-emission freight fleets (trucks)",
+ "combined": 0.61
+ },
+ {
+ "id": "c40_0029",
+ "action": "Electrify municipal vehicle fleets",
+ "combined": 0.61
+ },
+ {
+ "id": "ipcc_0001",
+ "action": "Promote compact urban form and transit-oriented development",
+ "combined": 0.61
+ },
+ {
+ "id": "ipcc_0105",
+ "action": "Promote active mobility through road space reallocation",
+ "combined": 0.61
+ }
+ ]
+ },
+ "pool": {
+ "unitId": 11,
+ "anchor": "Valdivia",
+ "anchorLocode": "CL ZAL",
+ "unitSize": 6,
+ "members": [
+ {
+ "name": "Valdivia",
+ "locode": "CL ZAL",
+ "cofinanceScore": 65.7,
+ "isAnchor": true
+ },
+ {
+ "name": "Paillaco",
+ "locode": "CL PAO",
+ "cofinanceScore": 43.5,
+ "isAnchor": false
+ },
+ {
+ "name": "Los Lagos",
+ "locode": "CL LLG",
+ "cofinanceScore": 42.8,
+ "isAnchor": false
+ },
+ {
+ "name": "Corral",
+ "locode": "CL CRR",
+ "cofinanceScore": 10.7,
+ "isAnchor": false
+ },
+ {
+ "name": "Máfil",
+ "locode": "CL MAF",
+ "cofinanceScore": 25.5,
+ "isAnchor": false
+ },
+ {
+ "name": "Mariquina",
+ "locode": null,
+ "cofinanceScore": null,
+ "isAnchor": false
+ }
+ ],
+ "bundle": {
+ "sector": "Transportation",
+ "coordinationTier": "highly_coordinated",
+ "instrumentClass": "pooled grant/loan · ESCO · debt",
+ "actorRoute": "municipal applicant",
+ "feasible": "True"
+ },
+ "pooledProposal": {
+ "title": "Los Ríos zero-emission transport program (6-comuna bundle)",
+ "sector": "transport",
+ "askUSDm": 30,
+ "stage": "Structuring",
+ "cofinance": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/adapters.ts b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/adapters.ts
new file mode 100644
index 0000000..1442f46
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/adapters.ts
@@ -0,0 +1,89 @@
+// Fiscal Data Adapter layer — normalizes country-specific fiscal sources into the
+// readiness model, keyed by city id (locode / IBGE). Chile = SINIM/FCM (via the
+// City-Funder Matching Engine); Brazil = CAPAG (Tesouro Nacional). New countries
+// add an adapter without touching the rest of the app.
+import { SM, type Comuna, type Scored } from "./engine";
+import clData from "@/data/valdivia.json";
+import brData from "@/data/brazil.json";
+
+export interface Scope {
+ id: string;
+ country: string;
+ region: string;
+ adapter: string; // the fiscal data source
+ center: [number, number];
+ zoom: number;
+ tierKind: "readiness" | "capag";
+}
+
+export const SCOPES: Scope[] = [
+ { id: "cl-losrios", country: "Chile", region: "Los Ríos", adapter: "SINIM / FCM", center: [-39.85, -72.9], zoom: 8, tierKind: "readiness" },
+ { id: "br-rs", country: "Brazil", region: "Rio Grande do Sul", adapter: "CAPAG (Tesouro Nacional)", center: [-29.7, -53.2], zoom: 6, tierKind: "capag" },
+];
+
+// Approx coordinates for the Chilean unit-11 comunas (by locode, name fallback).
+const CL_COORDS: Record = {
+ "CL ZAL": [-39.814, -73.246], "CL PAO": [-40.069, -72.872], "CL LLG": [-39.851, -72.831],
+ "CL CRR": [-39.887, -73.43], "CL MAF": [-39.665, -72.949], Mariquina: [-39.526, -72.969],
+};
+
+export interface MapPoint {
+ id: string;
+ name: string;
+ lat: number;
+ lon: number;
+ tier: string; // readiness tier OR capag tier
+ tierClass: string; // css class for color
+ isHero: boolean;
+ capag?: string | null;
+ journeyable: boolean; // can you enter the journey for this city?
+}
+
+const clComunas = (clData as any).comunas as Comuna[];
+const brHero = (brData as any).hero as Comuna;
+const brStateMap = (brData as any).stateMap as any[];
+
+function readinessTierClass(t: string) {
+ return t; // "Ready" | "Developing" | "Early" map to css .tier.
+}
+
+export function mapPoints(scopeId: string): MapPoint[] {
+ if (scopeId === "cl-losrios") {
+ return clComunas
+ .map((c) => {
+ const co = CL_COORDS[c.locode || ""] || CL_COORDS[c.name];
+ if (!co) return null;
+ const s = SM.scoreSNG(c);
+ return { id: c.id, name: c.name, lat: co[0], lon: co[1], tier: s.tier, tierClass: readinessTierClass(s.tier), isHero: c.isAnchor, journeyable: c.isAnchor };
+ })
+ .filter(Boolean) as MapPoint[];
+ }
+ // Brazil — CAPAG tiers across RS (cheap; uses precomputed tier, only hero is journeyable)
+ return brStateMap.map((m) => ({
+ id: `SNG-BR-${m.codIbge}`, name: m.name, lat: m.lat, lon: m.lon,
+ tier: m.tier, tierClass: m.tier, isHero: m.isHero, capag: m.capag, journeyable: m.isHero,
+ }));
+}
+
+export function scopeLegend(scopeId: string): { cls: string; label: string }[] {
+ if (scopeId === "cl-losrios")
+ return [
+ { cls: "Ready", label: "Ready" },
+ { cls: "Developing", label: "Developing" },
+ { cls: "Early", label: "Early" },
+ ];
+ const lg = (brData as any).legend as any[];
+ return lg.map((l) => ({ cls: l.tier, label: l.label }));
+}
+
+// The cities you can actually run the journey for (have full readiness detail).
+export function journeyCity(cityId: string): Scored | null {
+ const c = clComunas.find((x) => x.id === cityId) || (brHero.id === cityId ? brHero : null);
+ return c ? SM.scoreSNG(c) : null;
+}
+
+export function heroFor(scopeId: string): Scored {
+ return scopeId === "br-rs" ? SM.scoreSNG(brHero) : SM.scoreSNG(clComunas.find((c) => c.isAnchor)!);
+}
+
+export const DATA = { cl: clData as any, br: brData as any };
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/context.ts b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/context.ts
new file mode 100644
index 0000000..1b751e6
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/context.ts
@@ -0,0 +1,81 @@
+// CityCatalyst context provider — the AI-agent / shared-context SEAM.
+// Today this returns simulated context (identity + inventory + CCRA + HIAP + plan)
+// and a canned "agent assist". In production these calls go to CityCatalyst's MCP /
+// agent layer so context is shared across modules. Keep this interface stable.
+
+export interface CityContext {
+ cityId: string;
+ inventory: { topSectors: { sector: string; sharePct: number }[]; year: number; source: string };
+ ccra: { hazards: { hazard: string; risk: "high" | "medium" | "low" }[]; source: string };
+ hiap: { actionId: string; name: string; sector: string; type: "mitigation" | "adaptation"; rank: number }[];
+ plan: { name: string; status: string; actionsCount: number };
+ // the city's own project pipeline — for an INTRA-city portfolio
+ projects: { title: string; sector: string; askUSDm: number }[];
+ source: "simulated" | "citycatalyst-mcp";
+}
+
+const CONTEXT: Record = {
+ // Valdivia (Chile)
+ "SNG-CLZAL": {
+ cityId: "SNG-CLZAL",
+ inventory: { year: 2022, source: "CityCatalyst GHGI (simulated)", topSectors: [
+ { sector: "Transportation", sharePct: 38 }, { sector: "Stationary energy", sharePct: 31 }, { sector: "Waste", sharePct: 19 },
+ ] },
+ ccra: { source: "CityCatalyst CCRA (simulated)", hazards: [
+ { hazard: "River / coastal flooding", risk: "high" }, { hazard: "Wildfire", risk: "medium" }, { hazard: "Water scarcity", risk: "medium" },
+ ] },
+ hiap: [
+ { actionId: "c40_0023", name: "Adopt zero-emission bus fleets", sector: "transportation", type: "mitigation", rank: 1 },
+ { actionId: "ipcc_0001", name: "Transit-oriented development", sector: "transportation", type: "mitigation", rank: 2 },
+ { actionId: "ipcc_0105", name: "Active mobility / road space reallocation", sector: "transportation", type: "mitigation", rank: 3 },
+ ],
+ plan: { name: "Valdivia Climate Action Plan", status: "Adopted 2023", actionsCount: 102 },
+ projects: [
+ { title: "Zero-emission transport (e-bus + BRT)", sector: "transport", askUSDm: 8 },
+ { title: "Organic waste & biogas", sector: "waste", askUSDm: 6 },
+ { title: "Riverfront flood resilience", sector: "water", askUSDm: 9 },
+ { title: "Municipal building energy retrofit", sector: "energy", askUSDm: 5 },
+ ],
+ source: "simulated",
+ },
+ // Canoas (Brazil)
+ "SNG-BR-4304606": {
+ cityId: "SNG-BR-4304606",
+ inventory: { year: 2022, source: "CityCatalyst GHGI (simulated)", topSectors: [
+ { sector: "Stationary energy", sharePct: 41 }, { sector: "Transportation", sharePct: 27 }, { sector: "Waste", sharePct: 21 },
+ ] },
+ ccra: { source: "CityCatalyst CCRA (simulated)", hazards: [
+ { hazard: "River flooding (Guaíba basin)", risk: "high" }, { hazard: "Extreme rainfall", risk: "high" }, { hazard: "Heat stress", risk: "medium" },
+ ] },
+ hiap: [
+ { actionId: "ipcc_0210", name: "Urban drainage & flood defences", sector: "water", type: "adaptation", rank: 1 },
+ { actionId: "ipcc_0233", name: "Nature-based riverine buffers", sector: "afolu", type: "adaptation", rank: 2 },
+ { actionId: "c40_0061", name: "Early-warning & resilient infrastructure", sector: "water", type: "adaptation", rank: 3 },
+ ],
+ plan: { name: "Canoas Resilience & Adaptation Plan", status: "Draft 2025", actionsCount: 64 },
+ projects: [
+ { title: "Flood drainage & defences (post-2024)", sector: "water", askUSDm: 45 },
+ ],
+ source: "simulated",
+ },
+};
+
+export function getCityContext(cityId: string): CityContext | null {
+ return CONTEXT[cityId] || null;
+}
+
+export function agentAssist(opts: { cityName: string; tier: string; cleared: boolean; pathway: string }): {
+ simulated: true;
+ text: string;
+} {
+ const { cityName, tier, cleared, pathway } = opts;
+ let text: string;
+ if (tier === "Ready" && cleared) {
+ text = `${cityName} clears the early creditworthiness assessment. A single project may be below the instrument's ticket size — you can either bundle ${cityName}'s own projects into an intra-city portfolio, or pool credit lines with neighbouring cities. Then assemble the dossier.`;
+ } else if (pathway === "capacity-building") {
+ text = `${cityName} isn't yet eligible. The gap is not debt — it's liquidity, savings and accounting quality. I'd recommend a capacity-building track (fix accounting to lift the ICF rating, build cash reserves) plus grant / blended finance for adaptation now, rather than a guaranteed-credit application.`;
+ } else {
+ text = `${cityName} is on the readiness path. Close the named gaps via targeted TC, then re-assess for the instrument.`;
+ }
+ return { simulated: true, text };
+}
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/dossier.ts b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/dossier.ts
new file mode 100644
index 0000000..c28e45b
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/dossier.ts
@@ -0,0 +1,64 @@
+// Candidate dossier = the machine-readable handoff into a funder's intake.
+// It extends the project Concept Note (plan + actions) with the entity
+// creditworthiness, the instrument, the pool, and the due-diligence checklist —
+// one document a funder (IDB Control Tower) can intake.
+import { SM, PILLAR_ORDER, type Scored } from "./engine";
+import { getCityContext } from "./context";
+
+export interface Dossier {
+ id: string;
+ submittedAt: string;
+ candidateId: string;
+ kind: "city" | "pool";
+ name: string;
+ locode: string | null;
+ cityId: string | null;
+ country: string;
+ pathway: "instrument" | "pool" | "capacity-building";
+ targetProfileId: string;
+ instrument: { funder: string; name: string };
+ conceptNote: { title: string; sector: string; askUSDm: number; actions: { name: string; type: string }[]; summary: string };
+ readiness: { composite: number; tier: string; cleared: boolean; pillars: { key: string; label: string; score: number; provenance: string }[] };
+ pool: { anchor: string; members: { name: string; role: string; cofinance: number | null }[] } | null;
+ dueDiligence: { label: string; done: boolean }[];
+ financials: { askUSDm: number; cofinance: boolean };
+ provenanceNote: string;
+}
+
+export interface AssembleOpts {
+ scored: Scored;
+ kind: "city" | "pool";
+ pathway: "instrument" | "pool" | "capacity-building";
+ instrumentName?: string;
+ pool?: { anchor: string; members: { name: string; role: string; cofinance: number | null }[] } | null;
+ proposal: { title: string; sector: string; askUSDm: number; cofinance: boolean };
+}
+
+export function assembleDossier(o: AssembleOpts): Omit {
+ const s = o.scored;
+ const profile = SM.activeProfile();
+ const ctx = getCityContext(s.id);
+ const pillars = SM.explainScore(s.readiness).map((e) => ({
+ key: e.key, label: e.label, score: s.readiness[e.key], provenance: (s.provenance as any)[e.key],
+ }));
+ void PILLAR_ORDER;
+ return {
+ candidateId: o.kind === "pool" ? `POOL-${s.id}` : s.id,
+ kind: o.kind,
+ name: o.kind === "pool" ? `${s.name} pool (anchor)` : s.name,
+ locode: s.locode, cityId: s.cityId, country: s.country,
+ pathway: o.pathway,
+ targetProfileId: profile.id,
+ instrument: { funder: profile.funder, name: o.instrumentName || profile.instrument },
+ conceptNote: {
+ title: o.proposal.title, sector: o.proposal.sector, askUSDm: o.proposal.askUSDm,
+ actions: (ctx?.hiap || []).map((a) => ({ name: a.name, type: a.type })),
+ summary: `Plan derived from ${s.name}'s CityCatalyst HIAP priorities; ${ctx?.hiap.length || 0} prioritized actions.`,
+ },
+ readiness: { composite: s.compositeReadiness, tier: s.tier, cleared: s.canEnterProjectReview, pillars },
+ pool: o.pool || null,
+ dueDiligence: SM.intakeChecklist(s),
+ financials: { askUSDm: o.proposal.askUSDm, cofinance: o.proposal.cofinance },
+ provenanceNote: "Fiscal pillars from real national data (CAPAG · SINIM/FCM), locode-keyed. Screening signal, not a credit decision.",
+ };
+}
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/engine.ts b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/engine.ts
new file mode 100644
index 0000000..1d64a59
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/engine.ts
@@ -0,0 +1,69 @@
+// Thin typed wrapper around the vendored Readiness Engine (control-tower).
+// Importing readiness-profiles first registers the profile registry; scoring.js
+// reads it. The engine is the SAME code as justagiraffe/control-tower — vendored
+// here for the standalone app; the eventual home is a shared package.
+import "./readiness/readiness-profiles.js";
+import ScoringModel from "./readiness/scoring.js";
+import ProfilesMod from "./readiness/readiness-profiles.js";
+
+export const SM = ScoringModel as ScoringModelType;
+export const Profiles = ProfilesMod as ProfilesType;
+
+export type Pillar = "creditworthiness" | "fiscalHealth" | "legalCapacity" | "governance";
+
+export interface Comuna {
+ id: string;
+ name: string;
+ locode: string | null;
+ cityId: string | null;
+ country: string;
+ iso: string;
+ type: string;
+ population: number | null;
+ isAnchor: boolean;
+ cofinanceScore: number | null;
+ anchorScore: number | null;
+ readiness: Record;
+ provenance: Record;
+ signals: {
+ capagRating: string | null;
+ ownSourceRevenuePct: number | null;
+ debtServiceRatioPct: number | null;
+ currentBalancePct: number | null;
+ independentAudit: boolean;
+ canBorrowWithoutSovereignGuarantee: boolean;
+ };
+ proposal: { title: string; sector: string; askUSDm: number; stage: string; cofinance: boolean };
+}
+
+export interface Scored extends Comuna {
+ compositeReadiness: number;
+ tier: "Ready" | "Developing" | "Early";
+ readinessAction: string;
+ eligibility: Record & { eligible: boolean };
+ canEnterProjectReview: boolean;
+}
+
+interface ScoringModelType {
+ scoreSNG: (c: any) => Scored;
+ explainScore: (r: any) => { key: Pillar; label: string; score: number; weight: number; points: number }[];
+ intakeChecklist: (c: any) => { key: string; label: string; done: boolean }[];
+ readinessClearanceBlockers: (c: any) => string[];
+ eligibilityCheck: (c: any) => Record & { eligible: boolean };
+ activeProfile: () => any;
+ setActiveProfile: (id: string) => any;
+ PILLAR_LABELS: Record;
+ READINESS_WEIGHTS: Record;
+}
+interface ProfilesType {
+ listProfiles: () => { id: string; funder: string; instrument: string; illustrative: boolean }[];
+ getProfile: (id: string) => any;
+}
+
+export const PILLAR_ORDER: Pillar[] = ["creditworthiness", "fiscalHealth", "legalCapacity", "governance"];
+
+export function provenanceKind(p: string): "real" | "estimated" | "intake" {
+ if (p.startsWith("real")) return "real";
+ if (p.startsWith("intake")) return "intake";
+ return "estimated";
+}
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/funders.ts b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/funders.ts
new file mode 100644
index 0000000..ea034bf
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/funders.ts
@@ -0,0 +1,48 @@
+// Funder sourcing catalog — the 3-level hierarchy a city drills through to find a
+// financing line: FUNDER (bank) → PROGRAM → INSTRUMENT. Readiness is assessed at the
+// program level (it carries the readiness profile); the instrument is the specific
+// product. In the integrated architecture this becomes a converged "funder sourcing
+// service" (today fragmented across CityCatalyst + the hackday apps). Mock for now.
+
+export interface Instrument { id: string; name: string; kind: "loan" | "guarantee" | "TC" | "grant"; note?: string }
+export interface Program {
+ id: string;
+ name: string;
+ summary: string;
+ profileId: string; // → readiness profile in readiness-profiles.js
+ eligibilityNote?: string;
+ instruments: Instrument[];
+}
+export interface Funder { id: string; name: string; short: string; template?: boolean; programs: Program[] }
+
+export const FUNDERS: Funder[] = [
+ {
+ id: "idb", name: "Inter-American Development Bank", short: "IDB",
+ programs: [
+ {
+ id: "idb-sfp", name: "Sub-Sovereign Finance Program (SFP)", profileId: "idb-sfp",
+ summary: "A 5-year program lending directly to subnational governments without a sovereign guarantee.",
+ eligibilityNote: "You may be eligible for a direct line from the IDB. Assess readiness against this program's instruments.",
+ instruments: [
+ { id: "sfp-loan", name: "Investment loan · Subprogram 1", kind: "loan", note: "no sovereign guarantee · market-based pricing" },
+ { id: "sfp-guarantee", name: "Investment guarantee · Subprogram 1", kind: "guarantee", note: "credit enhancement, no sovereign counter-guarantee" },
+ { id: "sfp-tc", name: "Technical cooperation · Subprogram 2", kind: "TC", note: "readiness support (~US$13M envelope)" },
+ ],
+ },
+ ],
+ },
+ {
+ id: "caf", name: "CAF — Development Bank of Latin America & the Caribbean", short: "CAF", template: true,
+ programs: [{ id: "caf-sub", name: "Subnational lending (template)", profileId: "generic-mdb-template", summary: "Illustrative — plug in CAF's real program & criteria.", instruments: [{ id: "caf-loan", name: "Sub-national loan", kind: "loan" }] }],
+ },
+ {
+ id: "wb", name: "World Bank", short: "World Bank", template: true,
+ programs: [{ id: "wb-sub", name: "Subnational program (template)", profileId: "generic-mdb-template", summary: "Illustrative.", instruments: [{ id: "wb-loan", name: "Sub-national loan", kind: "loan" }] }],
+ },
+ {
+ id: "gcf", name: "Green Climate Fund", short: "GCF", template: true,
+ programs: [{ id: "gcf-da", name: "Direct access (template)", profileId: "generic-mdb-template", summary: "Illustrative.", instruments: [{ id: "gcf-grant", name: "Grant / concessional", kind: "grant" }] }],
+ },
+];
+
+export function getFunder(id: string | null) { return FUNDERS.find((f) => f.id === id) || null; }
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/readiness/readiness-profiles.d.ts b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/readiness/readiness-profiles.d.ts
new file mode 100644
index 0000000..8b3f8d8
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/readiness/readiness-profiles.d.ts
@@ -0,0 +1,2 @@
+declare const ReadinessProfiles: any;
+export default ReadinessProfiles;
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/readiness/readiness-profiles.js b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/readiness/readiness-profiles.js
new file mode 100644
index 0000000..07d7a0a
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/readiness/readiness-profiles.js
@@ -0,0 +1,189 @@
+// Readiness Profiles — the pluggable contract behind the Readiness Engine
+// =============================================================================
+// A *readiness profile* parameterizes the Readiness Engine for ONE financing
+// target (an MDB instrument). You are never "ready" in the abstract — you are
+// ready *for a specific funder's criteria*. Swap the profile and the same engine
+// (scoring.js) assesses a city's readiness for a different funder.
+//
+// IDB Sub-Sovereign Finance Program -> profile "idb-sfp" (the canonical #1)
+// CAF / World Bank / EIB / GCF / ... -> add their own profile object
+//
+// This is what turns justagiraffe from "an IDB tool" into "the readiness layer
+// for any MDB" — and it is the join point with the City-Funder Matching Engine:
+// the Matching Engine narrows a city's plan to a few *candidate targets*; for the
+// chosen target, the Readiness Engine loads that target's profile and produces a
+// score + gap + preparation track. See READINESS-PROFILES.md.
+//
+// A profile is plain data + tiny pure predicates. scoring.js derives its weights,
+// tiers, eligibility gate and checklists from the ACTIVE profile, so the existing
+// dashboard and its live re-score keep working unchanged when "idb-sfp" is active.
+// -----------------------------------------------------------------------------
+
+// --- Profile schema (informal) ----------------------------------------------
+// {
+// id, funder, instrument, version, source, summary,
+// pillars: [{ key, label, weight, basis, source }], // weights sum to 1
+// tiers: { thresholds:{ready,developing}, labels, actions:{Ready,Developing,Early} },
+// clearanceBlockers: [{ key, label, test(signals)->bool }], // hard gates
+// projectEligibility: [{ key, label, test(sng)->bool, note? }],// the funder's project gate
+// documentaryChecklist:[{ key, label, test(sng)->bool }], // intake documents
+// preparation: { Developing:{track,funding}, Early:{track,funding} }, // the TC route
+// // optional: how external datasets feed the pillar inputs (provenance + mapping)
+// signalSources?: [{ pillar, dataset, field, note }],
+// }
+// -----------------------------------------------------------------------------
+
+// IDB Sub-Sovereign Finance Program — profile #1. Encodes exactly the eligibility
+// logic from the June 2025 proposal that scoring.js previously hardcoded, so
+// behavior is identical when this profile is active.
+const IDB_SFP = {
+ id: "idb-sfp",
+ funder: "Inter-American Development Bank",
+ instrument: "Sub-Sovereign Finance Program (SFP)",
+ version: "2025-06",
+ source: "IDB SFP proposal (June 2025) — §4.2, §4.3, §4.13, §4.18, OP-301",
+ summary: "Direct investment lending to subnational governments without a sovereign guarantee.",
+
+ // Weighted sub-scores → composite 0–100. weights MUST sum to 1.
+ pillars: [
+ { key: "creditworthiness", label: "Creditworthiness", weight: 0.30,
+ basis: "credit rating, debt service, market access", source: "§4.13" },
+ { key: "fiscalHealth", label: "Fiscal health", weight: 0.30,
+ basis: "own-source revenue, operating balance, solvency", source: "§4.13" },
+ { key: "legalCapacity", label: "Legal capacity", weight: 0.20,
+ basis: "can contract & borrow without sovereign guarantee", source: "§4.2 / OP-301" },
+ { key: "governance", label: "Governance", weight: 0.20,
+ basis: "managerial capacity, planning, fiscal controls, audit", source: "§4.2" },
+ ],
+
+ tiers: {
+ thresholds: { ready: 70, developing: 45 }, // >=70 Ready, 45-69 Developing, <45 Early
+ labels: { ready: "Ready", developing: "Developing", early: "Early" },
+ actions: {
+ Ready: "Move to Project Review",
+ Developing: "Targeted TC / readiness acceleration",
+ Early: "Foundational readiness support",
+ },
+ },
+
+ // Hard gates (§4.2 / §4.13 / OP-301): a city can score "Ready" and still be
+ // blocked from clearance until these documentary/legal conditions are met.
+ clearanceBlockers: [
+ { key: "legal", label: "Legal capacity to borrow w/o sovereign guarantee",
+ test: sig => !!sig.canBorrowWithoutSovereignGuarantee },
+ { key: "audit", label: "Independent audit on file",
+ test: sig => !!sig.independentAudit },
+ ],
+
+ // Project-eligibility gate: 3 simultaneous criteria (§4.3) + non-accrual (§4.2).
+ // Keys are preserved so the dashboard's eligibility object shape is unchanged.
+ projectEligibility: [
+ { key: "highDevImpact", label: "High developmental impact",
+ test: sng => sng.proposal.askUSDm > 15, note: "material, transformational scale (Impact+)" },
+ { key: "noCrowdingOut", label: "Prevents private-sector crowding-out",
+ test: () => true, note: "screened at intake against §4.5 criteria" },
+ { key: "improvesSNGEfficiency", label: "Improves SNG efficiency & effectiveness",
+ test: sng => sng.readiness.governance >= 40, note: "capacity-building angle (§4.6)" },
+ { key: "centralGovNotInNonAccrual", label: "SNG + central gov not in non-accrual",
+ test: () => true, note: "country-level gate (§4.2)" },
+ ],
+
+ // Documentary intake checklist (§4.13 / §4.18 / OP-301) — drives pipeline state.
+ documentaryChecklist: [
+ { key: "legal", label: "Legal capacity to borrow w/o sovereign guarantee (OP-301)",
+ test: sng => !!sng.signals.canBorrowWithoutSovereignGuarantee },
+ { key: "audit", label: "Independent audit / audited financial statements",
+ test: sng => !!sng.signals.independentAudit },
+ { key: "fiscal", label: "Fiscal indicators on file (own-source rev, debt service, balance)",
+ test: sng => typeof sng.signals.ownSourceRevenuePct === "number" },
+ { key: "accrual", label: "Non-accrual confirmation (SNG + central government)",
+ test: () => true },
+ { key: "crowd", label: "Crowding-out screen vs. §4.5 criteria",
+ test: sng => !!sng.proposal && sng.proposal.stage !== "Proposal Intake" },
+ ],
+
+ // The preparation/readiness track a non-Ready city is routed to — the "get help
+ // to become ready" path (IDB Subprogram 2 TC, ~US$13M envelope).
+ preparation: {
+ Developing: { track: "Targeted TC / readiness acceleration",
+ funding: "IDB SFP Subprogram 2 — regular TC" },
+ Early: { track: "Foundational readiness support",
+ funding: "IDB SFP Subprogram 2 — regular + contingent-recovery TC" },
+ },
+
+ // How the four pillar inputs (readiness.*) can be sourced from real datasets
+ // instead of mock values. This is the contract the Matching Engine + CityCatalyst
+ // feed into. All join on UN/LOCODE (locode) and CityCatalyst city_id.
+ signalSources: [
+ { pillar: "fiscalHealth", dataset: "City-Funder Matching Engine — comuna_capacity_scores.csv",
+ field: "fcm_dependency_pct / cofinance_score", note: "real Chilean fiscal autonomy (SINIM/FCM), locode-keyed" },
+ { pillar: "creditworthiness", dataset: "Brazil CAPAG (Treasury)",
+ field: "A/B/C rating + indicators", note: "real ~5,570 municipalities" },
+ { pillar: "governance", dataset: "City-Funder Matching Engine — comuna_capacity_scores.csv",
+ field: "professionalization_pct / staff_per_1000", note: "managerial capacity proxy" },
+ { pillar: "legalCapacity", dataset: "manual / intake form",
+ field: "canBorrowWithoutSovereignGuarantee", note: "legal opinion, not a dataset" },
+ ],
+};
+
+// ILLUSTRATIVE TEMPLATE — shows the shape another MDB fills in. The criteria below
+// are PLACEHOLDERS, not any real bank's published rules. Do not present as fact;
+// replace every field with the target MDB's actual eligibility before using.
+const GENERIC_MDB_TEMPLATE = {
+ id: "generic-mdb-template",
+ funder: "",
+ instrument: "",
+ version: "template",
+ source: "ILLUSTRATIVE — replace with the MDB's published eligibility criteria",
+ summary: "Template profile demonstrating how a new MDB plugs into the engine.",
+ illustrative: true,
+ pillars: [
+ { key: "creditworthiness", label: "Creditworthiness", weight: 0.25, basis: "", source: "" },
+ { key: "fiscalHealth", label: "Fiscal health", weight: 0.25, basis: "", source: "" },
+ { key: "legalCapacity", label: "Legal capacity", weight: 0.25, basis: "", source: "" },
+ { key: "governance", label: "Governance", weight: 0.25, basis: "", source: "" },
+ ],
+ tiers: {
+ thresholds: { ready: 65, developing: 40 },
+ labels: { ready: "Ready", developing: "Developing", early: "Early" },
+ actions: { Ready: "Advance", Developing: "Prepare", Early: "Foundational support" },
+ },
+ clearanceBlockers: [
+ { key: "legal", label: "", test: () => true },
+ ],
+ projectEligibility: [
+ { key: "impact", label: "", test: () => true },
+ ],
+ documentaryChecklist: [
+ { key: "audit", label: "", test: () => true },
+ ],
+ preparation: {
+ Developing: { track: "", funding: "" },
+ Early: { track: "", funding: "" },
+ },
+};
+
+// --- Registry ----------------------------------------------------------------
+const READINESS_PROFILES = {
+ "idb-sfp": IDB_SFP,
+ "generic-mdb-template": GENERIC_MDB_TEMPLATE,
+};
+
+const DEFAULT_PROFILE_ID = "idb-sfp";
+
+function getProfile(id) {
+ return READINESS_PROFILES[id] || READINESS_PROFILES[DEFAULT_PROFILE_ID];
+}
+function listProfiles() {
+ return Object.values(READINESS_PROFILES).map(p => ({
+ id: p.id, funder: p.funder, instrument: p.instrument, illustrative: !!p.illustrative,
+ }));
+}
+
+const ReadinessProfiles = {
+ READINESS_PROFILES, DEFAULT_PROFILE_ID, getProfile, listProfiles,
+ IDB_SFP, GENERIC_MDB_TEMPLATE,
+};
+
+if (typeof window !== "undefined") window.ReadinessProfiles = ReadinessProfiles;
+if (typeof module !== "undefined") module.exports = ReadinessProfiles;
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/readiness/scoring.d.ts b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/readiness/scoring.d.ts
new file mode 100644
index 0000000..268f9c2
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/readiness/scoring.d.ts
@@ -0,0 +1,2 @@
+declare const ScoringModel: any;
+export default ScoringModel;
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/readiness/scoring.js b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/readiness/scoring.js
new file mode 100644
index 0000000..56cda05
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/readiness/scoring.js
@@ -0,0 +1,178 @@
+// Readiness scoring model — Sub-Sovereign Finance Program (SFP) Control Tower
+// -----------------------------------------------------------------------------
+// The Readiness Engine. It is now PROFILE-DRIVEN: weights, tiers, the eligibility
+// gate and the documentary checklist are read from the ACTIVE readiness profile
+// (see readiness-profiles.js), not hardcoded. The default profile "idb-sfp"
+// reproduces the IDB Sub-Sovereign Finance Program eligibility logic exactly
+// (GN-xxxx proposal §4.2/§4.3/§4.13/OP-301), so the dashboard and its live
+// re-score behave identically — but swapping the active profile re-points the
+// whole engine at a different MDB's criteria. That pluggability is the point.
+//
+// Owner: Sean (Finance) tunes the active profile's weights & thresholds; Mirco
+// (AI) feeds the sub-scores from CityCatalyst + open fiscal data. Profiles are
+// the contract the City-Funder Matching Engine and other MDBs plug into.
+// -----------------------------------------------------------------------------
+
+// Resolve the profile registry in both browser (window) and Node (require).
+const Profiles =
+ (typeof window !== "undefined" && window.ReadinessProfiles) ||
+ (typeof require !== "undefined" ? require("./readiness-profiles.js") : null);
+
+let ACTIVE_PROFILE = Profiles ? Profiles.getProfile(Profiles.DEFAULT_PROFILE_ID) : null;
+
+// Live, mutable views derived from the active profile. These objects keep the
+// SAME identity/shape the dashboard already binds to (sliders mutate
+// READINESS_WEIGHTS in place; PILLAR_LABELS[key] is read for labels).
+const READINESS_WEIGHTS = {};
+const PILLAR_LABELS = {};
+const TIER_THRESHOLDS = { ready: 70, developing: 45 };
+
+// Rebuild the derived views from a profile (mutating in place to preserve identity).
+function applyProfile(profile) {
+ ACTIVE_PROFILE = profile;
+ for (const k of Object.keys(READINESS_WEIGHTS)) delete READINESS_WEIGHTS[k];
+ for (const k of Object.keys(PILLAR_LABELS)) delete PILLAR_LABELS[k];
+ for (const p of profile.pillars) {
+ READINESS_WEIGHTS[p.key] = p.weight;
+ PILLAR_LABELS[p.key] = p.label;
+ }
+ TIER_THRESHOLDS.ready = profile.tiers.thresholds.ready;
+ TIER_THRESHOLDS.developing = profile.tiers.thresholds.developing;
+ return ACTIVE_PROFILE;
+}
+if (ACTIVE_PROFILE) applyProfile(ACTIVE_PROFILE);
+
+// Switch the engine to another MDB's profile (e.g. "idb-sfp" → "caf-...").
+function setActiveProfile(id) {
+ if (!Profiles) return ACTIVE_PROFILE;
+ return applyProfile(Profiles.getProfile(id));
+}
+function activeProfile() { return ACTIVE_PROFILE; }
+
+// Replace weights (partial ok) and renormalize to sum 1 so the composite stays 0-100.
+// Used by resetWeights(); sliders use setWeightShare() so the handle tracks the label.
+function setWeights(partial) {
+ Object.assign(READINESS_WEIGHTS, partial);
+ const total = Object.values(READINESS_WEIGHTS).reduce((a, b) => a + b, 0) || 1;
+ for (const k of Object.keys(READINESS_WEIGHTS)) READINESS_WEIGHTS[k] /= total;
+ return { ...READINESS_WEIGHTS };
+}
+
+// Set one pillar to targetPct (0–100) of the composite; scale the others proportionally.
+function setWeightShare(key, targetPct) {
+ const target = Math.max(0, Math.min(100, targetPct)) / 100;
+ const others = Object.keys(READINESS_WEIGHTS).filter(k => k !== key);
+ const otherSum = others.reduce((s, k) => s + READINESS_WEIGHTS[k], 0);
+ READINESS_WEIGHTS[key] = target;
+ if (target >= 1) {
+ others.forEach(k => { READINESS_WEIGHTS[k] = 0; });
+ } else if (otherSum > 0) {
+ const scale = (1 - target) / otherSum;
+ others.forEach(k => { READINESS_WEIGHTS[k] *= scale; });
+ } else {
+ const each = (1 - target) / others.length;
+ others.forEach(k => { READINESS_WEIGHTS[k] = each; });
+ }
+ return { ...READINESS_WEIGHTS };
+}
+
+function compositeReadiness(readiness, weights = READINESS_WEIGHTS) {
+ return Math.round(
+ Object.entries(weights).reduce((sum, [k, w]) => sum + (readiness[k] || 0) * w, 0)
+ );
+}
+
+// "Why this score": per-pillar point contribution to the composite, so the
+// dashboard can defend the number when a funder challenges it.
+function explainScore(readiness, weights = READINESS_WEIGHTS) {
+ return Object.keys(weights).map(k => ({
+ key: k,
+ label: PILLAR_LABELS[k] || k,
+ score: readiness[k] || 0,
+ weight: weights[k],
+ points: Math.round((readiness[k] || 0) * weights[k] * 10) / 10,
+ }));
+}
+
+function tierFor(score) {
+ if (score >= TIER_THRESHOLDS.ready) return "Ready";
+ if (score >= TIER_THRESHOLDS.developing) return "Developing";
+ return "Early";
+}
+
+function readinessActionFor(tier) {
+ const actions = (ACTIVE_PROFILE && ACTIVE_PROFILE.tiers.actions) || {};
+ return actions[tier] || tier;
+}
+
+// Step 2 after the early creditworthiness assessment (Step 1): the active
+// profile's hard clearance gates (for IDB SFP: legal capacity to borrow w/o
+// sovereign guarantee §4.2, independent audit §4.13/OP-301). Analytic pillar
+// scores do not replace these checks.
+function readinessClearanceBlockers(sng) {
+ const sig = sng.signals || {};
+ const gates = (ACTIVE_PROFILE && ACTIVE_PROFILE.clearanceBlockers) || [];
+ return gates.filter(g => !g.test(sig)).map(g => g.label);
+}
+
+function readinessActionForSng(sng) {
+ const tier = tierFor(compositeReadiness(sng.readiness));
+ if (tier !== "Ready") {
+ return readinessActionFor(tier);
+ }
+ if (canEnterProjectReview(sng)) {
+ return "Cleared for Project Review";
+ }
+ return "Ready score · clearance blocked";
+}
+
+// The active profile's project-eligibility gate (for IDB SFP: 3 simultaneous
+// criteria §4.3 + the non-accrual condition §4.2). Returns which criteria pass
+// (keyed object) plus `eligible`, so the dashboard can show *why*.
+function eligibilityCheck(sng) {
+ const criteria = (ACTIVE_PROFILE && ACTIVE_PROFILE.projectEligibility) || [];
+ const checks = {};
+ for (const c of criteria) checks[c.key] = !!c.test(sng);
+ checks.eligible = Object.values(checks).every(Boolean);
+ return checks;
+}
+
+// Step 2 after the composite score: binary clearance before active project review.
+function canEnterProjectReview(sng) {
+ return tierFor(compositeReadiness(sng.readiness)) === "Ready" &&
+ readinessClearanceBlockers(sng).length === 0;
+}
+
+// Documentary intake checklist from the active profile (for IDB SFP: §4.13
+// readiness assessment, §4.18 legal frameworks, OP-301). Drives the pipeline
+// view's workflow state — what is missing before the next gate.
+function intakeChecklist(sng) {
+ const items = (ACTIVE_PROFILE && ACTIVE_PROFILE.documentaryChecklist) || [];
+ return items.map(it => ({ key: it.key, label: it.label, done: !!it.test(sng) }));
+}
+
+// One call to (re)score a candidate end-to-end against the active profile.
+function scoreSNG(sng) {
+ const score = compositeReadiness(sng.readiness);
+ const tier = tierFor(score);
+ return {
+ ...sng,
+ compositeReadiness: score,
+ tier,
+ readinessAction: readinessActionForSng(sng),
+ eligibility: eligibilityCheck(sng),
+ canEnterProjectReview: canEnterProjectReview(sng),
+ };
+}
+
+const ScoringModel = {
+ READINESS_WEIGHTS, TIER_THRESHOLDS, PILLAR_LABELS,
+ setWeights, setWeightShare, compositeReadiness, explainScore, tierFor,
+ readinessActionFor, readinessActionForSng, readinessClearanceBlockers,
+ eligibilityCheck, canEnterProjectReview, intakeChecklist, scoreSNG,
+ // profile controls (new)
+ setActiveProfile, activeProfile, applyProfile,
+};
+
+if (typeof window !== "undefined") window.ScoringModel = ScoringModel;
+if (typeof module !== "undefined") module.exports = ScoringModel;
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/store.ts b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/store.ts
new file mode 100644
index 0000000..15ed6e5
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/src/lib/store.ts
@@ -0,0 +1,9 @@
+// In-memory dossier store (demo only — resets when the dev server restarts).
+// Stands in for the IDB-side Control Tower receiving the candidate dossier.
+import type { Dossier } from "./dossier";
+
+export type { Dossier };
+
+const g = globalThis as unknown as { __CRN_DOSSIERS__?: Dossier[] };
+if (!g.__CRN_DOSSIERS__) g.__CRN_DOSSIERS__ = [];
+export const dossiers: Dossier[] = g.__CRN_DOSSIERS__;
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/tsconfig.json b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/tsconfig.json
new file mode 100644
index 0000000..c6450a9
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/city-readiness-navigator/tsconfig.json
@@ -0,0 +1,22 @@
+{
+ "compilerOptions": {
+ "target": "ES2020",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "allowJs": true,
+ "checkJs": false,
+ "skipLibCheck": true,
+ "strict": true,
+ "noEmit": true,
+ "esModuleInterop": true,
+ "module": "esnext",
+ "moduleResolution": "bundler",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "jsx": "preserve",
+ "incremental": true,
+ "plugins": [{ "name": "next" }],
+ "paths": { "@/*": ["./src/*"] }
+ },
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
+ "exclude": ["node_modules"]
+}
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/IMPLEMENTATION_PLAN.md b/events/2026-06-11-unlock-the-money/justagiraffe/control-tower/IMPLEMENTATION_PLAN.md
similarity index 99%
rename from events/2026-06-11-unlock-the-money/justagiraffe/IMPLEMENTATION_PLAN.md
rename to events/2026-06-11-unlock-the-money/justagiraffe/control-tower/IMPLEMENTATION_PLAN.md
index b85de6b..e28867d 100644
--- a/events/2026-06-11-unlock-the-money/justagiraffe/IMPLEMENTATION_PLAN.md
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/control-tower/IMPLEMENTATION_PLAN.md
@@ -15,7 +15,7 @@ This turns readiness into the first filter and moves project-level proposal deta
### Current Issue
-Today, `control-tower/index.html` defines proposal stages as:
+Today, `index.html` defines proposal stages as:
```js
const STAGES = ["Intake","Screening","Readiness Review","Structuring","Board Pipeline"];
@@ -164,7 +164,7 @@ Future production model should support multiple proposals per SNG, because one c
### 1. Make Readiness Scoring the First Tab
-Change navigation order in `control-tower/index.html`:
+Change navigation order in `index.html`:
Current:
@@ -406,7 +406,7 @@ This makes the Board story clearer: the pilot is not only tracking projects, it
### Phase 4: Demo Story and Docs
- Update `SPEC.md` to reflect the two-stage model.
-- Update `ROADMAP.md` demo script:
+- Update `../archive/ROADMAP.md` demo script:
1. Readiness Scoring: "Which cities are ready?"
2. Project Review: "For ready cities, which projects advance?"
3. M&E & Board: "Is the pilot proving itself?"
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/control-tower/MandE-questions.md b/events/2026-06-11-unlock-the-money/justagiraffe/control-tower/MandE-questions.md
new file mode 100644
index 0000000..ef9a37e
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/control-tower/MandE-questions.md
@@ -0,0 +1,36 @@
+# M&E Questions (for Prototype Scoring)
+
+## Pillar 1 — Fiscal & Financial Management
+1. Does the SNG have an updated Public Financial Management (PFM) system?
+2. Are budget execution reports published on time?
+3. Is there an updated debt management strategy?
+4. Has revenue autonomy improved in the last 3 years?
+5. Does the SNG have a credit rating or shadow rating?
+
+## Pillar 2 — Project Pipeline & Technical Capacity
+1. Are ex-ante evaluations conducted for major projects?
+2. Are projects screened for regulatory compliance?
+3. Does the SNG maintain a risk management framework?
+4. Are land-use and sectoral plans up to date?
+5. Is there an annual capital budget for infrastructure?
+
+## Pillar 3 — Service Delivery & Infrastructure Outcomes
+1. Have service quality indicators improved?
+2. Has service coverage increased?
+3. Have emissions or pollution levels decreased?
+4. Has disaster vulnerability been reduced?
+5. Is quality-of-work monitored during implementation?
+
+## Pillar 4 — Private Sector & Market Readiness
+1. Does the SNG have a PPP framework?
+2. Has the SNG conducted investor consultations?
+3. Does the SNG have tariff-setting capacity?
+4. Are procurement systems modernized and transparent?
+5. Has the SNG conducted market sounding for major projects?
+
+## Pillar 5 — Sustainability & Long-Term Viability
+1. Is there an O&M plan for major assets?
+2. Are institutional roles and responsibilities clearly defined?
+3. Is the financial sustainability of services monitored?
+4. Are climate resilience measures integrated into planning?
+5. Are monitoring systems in place to track project outcomes?
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/control-tower/Monitoring_Evaluation.md b/events/2026-06-11-unlock-the-money/justagiraffe/control-tower/Monitoring_Evaluation.md
new file mode 100644
index 0000000..f977e89
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/control-tower/Monitoring_Evaluation.md
@@ -0,0 +1,206 @@
+# Monitoring & Evaluation (M&E) Module – Sub‑Sovereign Pilot Control Tower
+
+## 1. Purpose
+
+The M&E module provides a unified framework to track:
+
+1. **Pilot‑level early outcomes** required for IDB Board reporting (Annex IV).
+2. **City‑level readiness progress** over time, aligned with the SFP Theory of Change.
+3. **Program‑wide performance signals** that demonstrate whether the Sub‑Sovereign Finance Program (SFP) is feasible, scalable, and delivering value.
+
+This module integrates Annex IV with a forward‑looking readiness approach to support SNGs in accessing finance and to give the IDB team a real‑time view of the pilot’s performance.
+
+---
+
+## 2. M&E Architecture
+
+The M&E module is built around **two complementary layers**:
+
+### **A. Pilot‑Level Early Outcome Tracking (Annex IV)**
+Tracks indicators required to evaluate the pilot’s feasibility, operational efficiency, and early outcomes across participating SNGs.
+
+### **B. City‑Level Readiness Progress (Forward‑Looking)**
+Tracks how each SNG is progressing toward investment readiness using a simple, digital‑tool‑friendly scoring model.
+
+Together, these layers form the **Control Tower** view of the pilot.
+
+---
+
+## 3. Pilot‑Level Early Outcome Indicators (Annex IV)
+
+These indicators come directly from Annex IV and are grouped into four domains.
+
+### **3.1 Fiscal & Financial Management**
+- Revenue autonomy
+- Fiscal transparency (timely and complete reporting)
+- Updated debt management strategy
+- Credit rating or shadow rating improvements
+
+### **3.2 Project Pipeline & Technical Capacity**
+- Ex‑ante project evaluations
+- Regulatory compliance screening
+- Risk management systems
+- Updated land‑use and sectoral plans
+- Capital budgeting for infrastructure
+
+### **3.3 Service Delivery & Infrastructure**
+- Improved service quality
+- Increased service coverage
+- Reduced emissions or pollution
+- Reduced disaster vulnerability
+- Quality‑of‑work monitoring
+
+### **3.4 Private Sector Engagement**
+- PPP readiness
+- Investor consultations / market sounding
+- Tariff‑setting capacity
+- Private sector participation in capital plans
+
+These indicators are aggregated across all SNGs to show the pilot’s overall performance.
+
+---
+
+## 4. City‑Level Readiness Journey (Forward‑Looking)
+
+To complement Annex IV, the Control Tower includes a readiness journey that helps SNGs understand where they stand and what they need to improve to access financing.
+
+### **4.1 Readiness Ladder**
+Cities are classified into four levels:
+
+1. **Foundational** – basic governance, limited data
+2. **Emerging** – some plans, weak financials
+3. **Capable** – strong financials, pipeline exists
+4. **Investment‑ready** – bankable projects, strong systems
+
+### **4.2 Readiness Pillars (5‑Pillar Model)**
+
+Each SNG is assessed across **five forward‑looking pillars**:
+
+#### **Pillar 1 — Fiscal & Financial Management**
+- Updated PFM system
+- Revenue autonomy
+- Debt management strategy
+- Fiscal transparency
+- Credit rating or shadow rating
+
+#### **Pillar 2 — Project Pipeline & Technical Capacity**
+- Ex‑ante project evaluation
+- Regulatory compliance
+- Risk management
+- Land‑use and sectoral plans
+- Capital budgeting
+
+#### **Pillar 3 — Service Delivery & Infrastructure Outcomes**
+- Service quality
+- Service coverage
+- Emissions reduction
+- Disaster resilience
+- Quality of work
+
+#### **Pillar 4 — Private Sector & Market Readiness**
+- PPP framework
+- Investor engagement
+- Tariff‑setting capacity
+- Procurement systems
+- Market sounding
+
+#### **Pillar 5 — Sustainability & Long‑Term Viability**
+- O&M planning
+- Institutional continuity
+- Financial sustainability
+- Climate resilience
+- Monitoring systems
+
+---
+
+## 5. Scoring Model
+
+Each question is scored:
+
+- **0** = No progress
+- **1** = Partial progress
+- **2** = Achieved / Implemented
+
+Pillar scores are normalized and aggregated into a **0–100 readiness score**.
+
+### **Readiness Levels**
+- **0–25** → Foundational
+- **26–50** → Emerging
+- **51–75** → Capable
+- **76–100** → Investment‑ready
+
+---
+
+## 6. M&E Outputs
+
+The M&E module generates four types of outputs for the Control Tower dashboard.
+
+### **6.1 Readiness Score**
+A composite 0–100 score showing where the SNG stands on its readiness journey.
+
+### **6.2 Pillar Dashboard**
+A radar or bar chart visualizing strengths and weaknesses across the five pillars.
+
+### **6.3 Narrative Summary**
+Automatically generated text explaining:
+- what is strong
+- what is weak
+- what is blocking readiness
+- how the SNG compares to peers
+
+Examples:
+- “Fiscal transparency is strong, but project pipeline evaluation is weak.”
+- “You are close to investment‑ready but need stronger risk management systems.”
+
+### **6.4 Recommended Actions**
+Tailored next steps based on low‑scoring pillars, such as:
+- Update debt management strategy
+- Conduct feasibility studies
+- Strengthen procurement systems
+- Engage private investors
+- Improve safeguards and risk management
+
+---
+
+## 7. Integration with Intake & Readiness Modules
+
+The M&E module integrates with the other components of the Control Tower:
+
+### **7.1 Intake & Triage**
+- Pulls project information from the intake form
+- Uses legal and fiscal signals to populate early‑outcome indicators
+
+### **7.2 Readiness Scoring**
+- Shares data with the readiness engine (creditworthiness, fiscal health, governance)
+- Tracks improvements over time
+
+### **7.3 Program‑Level Monitoring**
+- Aggregates early outcomes across all SNGs
+- Supports IDB Board reporting
+- Provides evidence on pilot feasibility and scalability
+
+---
+
+## 8. Data Sources
+
+The M&E module can ingest data from:
+- CityCatalyst (land use, emissions, service coverage, risk exposure)
+- SNG financial statements
+- IDB internal systems
+- Intake forms and readiness assessments
+- Surveys and interviews (as needed)
+
+---
+
+## 9. Summary
+
+This M&E module:
+
+- Aligns with Annex IV
+- Supports the Control Tower’s real‑time monitoring vision
+- Helps SNGs understand and improve their readiness
+- Provides IDB with the evidence needed to evaluate the pilot
+- Integrates cleanly with intake and readiness scoring
+- Is simple enough to implement in a hackday prototype
+
+It is both **rigorous** (for IDB) and **practical** (for cities).
diff --git a/events/2026-06-11-unlock-the-money/justagiraffe/control-tower/READINESS-PROFILES.md b/events/2026-06-11-unlock-the-money/justagiraffe/control-tower/READINESS-PROFILES.md
new file mode 100644
index 0000000..9f204bd
--- /dev/null
+++ b/events/2026-06-11-unlock-the-money/justagiraffe/control-tower/READINESS-PROFILES.md
@@ -0,0 +1,110 @@
+# Readiness Profiles — the pluggable contract behind the Readiness Engine
+
+> **TL;DR** You are never "ready" in the abstract — you are ready *for a specific
+> funder's criteria*. A **readiness profile** packages one MDB instrument's
+> criteria (pillars, weights, tiers, eligibility gate, documentary checklist,
+> preparation track) as a plug-in. The Readiness Engine (`scoring.js`) runs
+> whatever profile is active. **IDB SFP is profile #1**; CAF / World Bank / EIB /
+> GCF add their own. This is what turns justagiraffe from *an IDB tool* into
+> *the readiness layer for any MDB.*
+
+## Why this exists
+
+The original `scoring.js` hardcoded the IDB Sub-Sovereign Finance Program: the
+four pillars, their weights, the tier thresholds, the §4.3 project-eligibility
+gate, and the OP-301 documentary checklist. That made the engine IDB-only.
+
+Two things in this repo wanted it to be more than that:
+
+1. **The platform vision** — the same engine should serve every MDB running a
+ sub-sovereign / urban-finance pilot (the SPEC's "repeatable to any MDB"
+ revenue framing). Each MDB has *different* criteria.
+2. **The City-Funder Matching Engine** — it narrows a city's plan to a few
+ *candidate funding targets*. For a chosen target, *someone* has to answer "is
+ this city ready **for that target**?" That someone is the Readiness Engine,
+ parameterized by the target's profile.
+
+So readiness is the **bridge** between matching ("where could this city go?") and
+submission ("can it actually get there, and how does it prepare?").
+
+## Files
+
+| File | What it is |
+|---|---|
+| `readiness-profiles.js` | The profile registry + schema. `window.ReadinessProfiles` (browser) / `module.exports` (Node). Holds `idb-sfp` (canonical) + `generic-mdb-template` (illustrative). |
+| `scoring.js` | The Readiness Engine. Now **profile-driven** — derives weights/tiers/gates/checklist from the *active* profile. Default `idb-sfp` reproduces the prior behavior exactly. |
+| `index.html` | Loads `readiness-profiles.js` **before** `scoring.js`. Otherwise unchanged. |
+
+## The profile schema
+
+```js
+{
+ id, funder, instrument, version, source, summary,
+ pillars: [{ key, label, weight, basis, source }], // weights sum to 1 → composite 0–100
+ tiers: {
+ thresholds: { ready, developing }, // >=ready Ready, >=developing Developing, else Early
+ labels: { ready, developing, early },
+ actions: { Ready, Developing, Early }, // recommended next action per tier
+ },
+ clearanceBlockers: [{ key, label, test(signals) -> bool }], // hard gates (block even a Ready score)
+ projectEligibility: [{ key, label, test(sng) -> bool, note? }],// the funder's project gate
+ documentaryChecklist:[{ key, label, test(sng) -> bool }], // intake documents → pipeline state
+ preparation: { Developing: {track, funding}, Early: {track, funding} }, // the TC / readiness route
+ signalSources?: [{ pillar, dataset, field, note }], // provenance: where real pillar inputs come from
+}
+```
+
+`test(...)` predicates are tiny and pure. `clearanceBlockers`/`documentaryChecklist`
+receive different inputs (`signals` vs the whole `sng`) to match the existing
+`scoring.js` call sites — see those functions for the exact shapes returned.
+
+## How the engine consumes it
+
+`scoring.js` keeps every previous export and return shape, so `index.html` is
+untouched apart from the one extra `
+
+