bcb-br-mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Sidney Bissoli
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,303 @@
1
+ # BCB BR MCP Server
2
+
3
+ [![npm version](https://badge.fury.io/js/bcb-br-mcp.svg)](https://www.npmjs.com/package/bcb-br-mcp)
4
+ [![MCP Registry](https://img.shields.io/badge/MCP-Registry-blue)](https://github.com/modelcontextprotocol/servers)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+
7
+ Servidor MCP (Model Context Protocol) para acesso às séries temporais do Banco Central do Brasil (SGS/BCB).
8
+
9
+ Permite consultar indicadores econômicos e financeiros como **Selic**, **IPCA**, **câmbio**, **PIB**, entre outros, diretamente em assistentes de IA como Claude.
10
+
11
+ ## Funcionalidades
12
+
13
+ - **Consulta de séries históricas** - Busca valores de séries por código com filtro de datas
14
+ - **Últimos valores** - Obtém os N valores mais recentes de uma série
15
+ - **Metadados** - Informações detalhadas sobre séries (periodicidade, fonte, etc.)
16
+ - **Catálogo de séries populares** - Lista de indicadores econômicos mais utilizados
17
+ - **Busca por nome** - Encontra séries por termo de busca
18
+ - **Indicadores atuais** - Valores mais recentes dos principais indicadores econômicos
19
+
20
+ ## Ferramentas Disponíveis
21
+
22
+ | Ferramenta | Descrição |
23
+ |------------|-----------|
24
+ | `bcb_serie_valores` | Consulta valores de uma série por código e período |
25
+ | `bcb_serie_ultimos` | Obtém os últimos N valores de uma série |
26
+ | `bcb_serie_metadados` | Retorna informações/metadados de uma série |
27
+ | `bcb_series_populares` | Lista séries populares agrupadas por categoria |
28
+ | `bcb_buscar_serie` | Busca séries por nome ou descrição |
29
+ | `bcb_indicadores_atuais` | Valores mais recentes: Selic, IPCA, Dólar, IBC-Br |
30
+
31
+ ## Instalação
32
+
33
+ ### Claude Desktop
34
+
35
+ Adicione ao arquivo de configuração do Claude Desktop:
36
+
37
+ **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
38
+
39
+ **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
40
+
41
+ #### Opção 1: Via npx (recomendado)
42
+
43
+ ```json
44
+ {
45
+ "mcpServers": {
46
+ "bcb-br": {
47
+ "command": "npx",
48
+ "args": ["-y", "bcb-br-mcp"]
49
+ }
50
+ }
51
+ }
52
+ ```
53
+
54
+ #### Opção 2: Instalação global
55
+
56
+ ```bash
57
+ npm install -g bcb-br-mcp
58
+ ```
59
+
60
+ ```json
61
+ {
62
+ "mcpServers": {
63
+ "bcb-br": {
64
+ "command": "bcb-br-mcp"
65
+ }
66
+ }
67
+ }
68
+ ```
69
+
70
+ ## Exemplos de Uso
71
+
72
+ ### Consultar a Selic atual
73
+
74
+ ```
75
+ Use bcb_serie_ultimos com código 432 para obter a Selic
76
+ ```
77
+
78
+ ### Histórico do IPCA em 2024
79
+
80
+ ```
81
+ Use bcb_serie_valores com código 433, dataInicial 2024-01-01 e dataFinal 2024-12-31
82
+ ```
83
+
84
+ ### Listar indicadores de inflação
85
+
86
+ ```
87
+ Use bcb_series_populares com categoria "Inflação"
88
+ ```
89
+
90
+ ### Buscar séries sobre dólar
91
+
92
+ ```
93
+ Use bcb_buscar_serie com termo "dolar"
94
+ ```
95
+
96
+ ### Obter indicadores atuais
97
+
98
+ ```
99
+ Use bcb_indicadores_atuais para ver Selic, IPCA, Dólar e IBC-Br atuais
100
+ ```
101
+
102
+ ## Catálogo de Séries (150+)
103
+
104
+ O servidor inclui um catálogo com mais de 150 séries organizadas em 12 categorias.
105
+
106
+ ### Juros e Taxas
107
+ | Código | Descrição |
108
+ |--------|-----------|
109
+ | 11 | Taxa Selic acumulada no mês |
110
+ | 432 | Taxa Selic anualizada base 252 |
111
+ | 1178 | Taxa Selic - Meta definida pelo Copom |
112
+ | 12 | CDI diária |
113
+ | 4389 | CDI anualizada base 252 |
114
+ | 226 | Taxa Referencial (TR) - diária |
115
+ | 256 | Taxa de Juros de Longo Prazo (TJLP) |
116
+
117
+ ### Inflação (30+ séries)
118
+ | Código | Descrição |
119
+ |--------|-----------|
120
+ | 433 | IPCA - Variação mensal |
121
+ | 13522 | IPCA - Acumulado 12 meses |
122
+ | 7478 | IPCA-15 - Variação mensal |
123
+ | 188 | INPC - Variação mensal |
124
+ | 189 | IGP-M - Variação mensal |
125
+ | 190 | IGP-DI - Variação mensal |
126
+ | 7447 | IGP-10 - Variação mensal |
127
+ | 10841-10850 | IPCA por grupo (Alimentação, Habitação, Transportes, etc.) |
128
+ | 4449 | IPCA - Preços administrados |
129
+ | 11428 | IPCA - Preços livres |
130
+ | 16121-16122 | IPCA - Núcleos |
131
+
132
+ ### Câmbio (15+ séries)
133
+ | Código | Descrição |
134
+ |--------|-----------|
135
+ | 1 | Dólar americano (venda) |
136
+ | 10813 | Dólar americano (compra) |
137
+ | 3698/3697 | Dólar PTAX (venda/compra) |
138
+ | 21619/21620 | Euro (venda/compra) |
139
+ | 21623/21624 | Libra Esterlina (venda/compra) |
140
+ | 21621/21622 | Iene (venda/compra) |
141
+ | 21637/21638 | Peso Argentino (venda/compra) |
142
+ | 21639/21640 | Yuan Chinês (venda/compra) |
143
+
144
+ ### Atividade Econômica (25+ séries)
145
+ | Código | Descrição |
146
+ |--------|-----------|
147
+ | 4380 | PIB mensal (R$ milhões) |
148
+ | 4382 | PIB acumulado 12 meses (R$ milhões) |
149
+ | 4385 | PIB mensal em US$ |
150
+ | 7324 | PIB anual em US$ |
151
+ | 24363/24364 | IBC-Br (sem/com ajuste sazonal) |
152
+ | 29601-29606 | IBC-Br setorial (Agropecuária, Indústria, Serviços) |
153
+ | 22099 | PIB trimestral - Taxa de variação |
154
+ | 21859 | Produção industrial - Variação mensal |
155
+ | 21862 | Utilização da capacidade instalada |
156
+
157
+ ### Emprego (10+ séries)
158
+ | Código | Descrição |
159
+ |--------|-----------|
160
+ | 24369 | Taxa de desocupação - PNAD Contínua |
161
+ | 24370 | Taxa de participação na força de trabalho |
162
+ | 24380 | Rendimento médio real |
163
+ | 24381 | Massa de rendimento real |
164
+ | 28561 | CAGED - Saldo de empregos formais |
165
+
166
+ ### Fiscal (10+ séries)
167
+ | Código | Descrição |
168
+ |--------|-----------|
169
+ | 4503 | Dívida líquida do setor público (% PIB) |
170
+ | 4513 | Dívida bruta do governo geral (% PIB) |
171
+ | 4537 | Resultado primário (% PIB) |
172
+ | 4539 | Resultado nominal (% PIB) |
173
+ | 5364 | Receita total do governo central |
174
+
175
+ ### Setor Externo (15+ séries)
176
+ | Código | Descrição |
177
+ |--------|-----------|
178
+ | 3546 | Reservas internacionais - diário |
179
+ | 22707 | Balança comercial - Saldo mensal |
180
+ | 22708 | Exportação de bens - mensal |
181
+ | 22709 | Importação de bens - mensal |
182
+ | 22701 | Transações correntes - Saldo |
183
+ | 22846 | Investimento direto no país |
184
+ | 13690 | Dívida externa total |
185
+
186
+ ### Crédito (30+ séries)
187
+ | Código | Descrição |
188
+ |--------|-----------|
189
+ | 20539 | Saldo de crédito - Total |
190
+ | 20540/20541 | Saldo de crédito - PF/PJ |
191
+ | 20714 | Taxa média de juros - Total |
192
+ | 20749 | Taxa média - Aquisição de veículos |
193
+ | 20772 | Taxa média - Financiamento imobiliário |
194
+ | 20783 | Spread médio - Total |
195
+ | 21082 | Inadimplência - Total |
196
+ | 21128/21129 | Inadimplência - Cartão de crédito |
197
+
198
+ ### Agregados Monetários
199
+ | Código | Descrição |
200
+ |--------|-----------|
201
+ | 1788 | Base monetária |
202
+ | 27788-27791 | Meios de pagamento M1, M2, M3, M4 |
203
+ | 27815 | Multiplicador monetário |
204
+
205
+ ### Poupança
206
+ | Código | Descrição |
207
+ |--------|-----------|
208
+ | 25 | Poupança - Rendimento mensal |
209
+ | 195 | Poupança - Saldo total |
210
+ | 7165 | Poupança - Captação líquida |
211
+
212
+ ### Índices de Mercado
213
+ | Código | Descrição |
214
+ |--------|-----------|
215
+ | 12466 | IMA-B |
216
+ | 12467 | IMA-B5 |
217
+ | 12468 | IMA-B5+ |
218
+ | 7832 | Ibovespa mensal |
219
+
220
+ ### Expectativas (Focus)
221
+ | Código | Descrição |
222
+ |--------|-----------|
223
+ | 29033/29034 | Expectativa IPCA (ano corrente/próximo) |
224
+ | 29035/29036 | Expectativa Selic (ano corrente/próximo) |
225
+ | 29037/29038 | Expectativa PIB (ano corrente/próximo) |
226
+ | 29039/29040 | Expectativa Câmbio (ano corrente/próximo) |
227
+
228
+ ## Encontrar Outras Séries
229
+
230
+ O SGS possui mais de 18.000 séries temporais. Para encontrar o código de outras séries:
231
+
232
+ 1. Acesse o [Portal SGS do BCB](https://www3.bcb.gov.br/sgspub/)
233
+ 2. Use a busca para encontrar a série desejada
234
+ 3. Anote o código da série
235
+ 4. Use esse código nas ferramentas deste servidor
236
+
237
+ ## Desenvolvimento
238
+
239
+ ### Requisitos
240
+
241
+ - Node.js >= 18.0.0
242
+
243
+ ### Setup
244
+
245
+ ```bash
246
+ git clone https://github.com/SidneyBissoli/bcb-br-mcp.git
247
+ cd bcb-br-mcp
248
+ npm install
249
+ ```
250
+
251
+ ### Build
252
+
253
+ ```bash
254
+ npm run build
255
+ ```
256
+
257
+ ### Teste local
258
+
259
+ ```bash
260
+ npm run dev
261
+ ```
262
+
263
+ Ou use o MCP Inspector:
264
+
265
+ ```bash
266
+ npx @modelcontextprotocol/inspector npm run dev
267
+ ```
268
+
269
+ ## API do BCB
270
+
271
+ Este servidor utiliza a API pública do Banco Central do Brasil:
272
+
273
+ - **Endpoint base:** `https://api.bcb.gov.br/dados/serie/bcdata.sgs.{codigo}/dados`
274
+ - **Formato:** JSON
275
+ - **Documentação:** [Dados Abertos BCB](https://dadosabertos.bcb.gov.br/)
276
+
277
+ ## Contribuição
278
+
279
+ Contribuições são bem-vindas! Por favor:
280
+
281
+ 1. Faça um fork do repositório
282
+ 2. Crie uma branch para sua feature (`git checkout -b feature/nova-feature`)
283
+ 3. Commit suas mudanças (`git commit -m 'Adiciona nova feature'`)
284
+ 4. Push para a branch (`git push origin feature/nova-feature`)
285
+ 5. Abra um Pull Request
286
+
287
+ ## Licença
288
+
289
+ MIT - veja [LICENSE](LICENSE) para detalhes.
290
+
291
+ ## Autor
292
+
293
+ **Sidney Bissoli**
294
+
295
+ - GitHub: [@SidneyBissoli](https://github.com/SidneyBissoli)
296
+ - Email: sbissoli76@gmail.com
297
+
298
+ ## Links Úteis
299
+
300
+ - [Portal SGS BCB](https://www3.bcb.gov.br/sgspub/)
301
+ - [Dados Abertos BCB](https://dadosabertos.bcb.gov.br/)
302
+ - [Model Context Protocol](https://modelcontextprotocol.io/)
303
+ - [MCP Registry](https://github.com/modelcontextprotocol/servers)
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * BCB BR MCP Server
4
+ * MCP Server for Brazilian Central Bank Time Series (SGS/BCB)
5
+ *
6
+ * Author: Sidney Bissoli
7
+ * License: MIT
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;GAMG"}
package/dist/index.js ADDED
@@ -0,0 +1,584 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * BCB BR MCP Server
4
+ * MCP Server for Brazilian Central Bank Time Series (SGS/BCB)
5
+ *
6
+ * Author: Sidney Bissoli
7
+ * License: MIT
8
+ */
9
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
10
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
11
+ import { z } from "zod";
12
+ // API Base URL
13
+ const BCB_API_BASE = "https://api.bcb.gov.br/dados/serie/bcdata.sgs";
14
+ // Popular series catalog - Expanded with 100+ series
15
+ const SERIES_POPULARES = [
16
+ // ==================== JUROS E TAXAS ====================
17
+ // Selic
18
+ { codigo: 11, nome: "Taxa de juros - Selic acumulada no mês", categoria: "Juros", periodicidade: "Mensal" },
19
+ { codigo: 432, nome: "Taxa de juros - Selic anualizada base 252", categoria: "Juros", periodicidade: "Diária" },
20
+ { codigo: 1178, nome: "Taxa de juros - Selic - Meta definida pelo Copom", categoria: "Juros", periodicidade: "Diária" },
21
+ { codigo: 4189, nome: "Taxa de juros - Selic acumulada no mês anualizada", categoria: "Juros", periodicidade: "Mensal" },
22
+ { codigo: 4390, nome: "Taxa de juros - Selic mensal", categoria: "Juros", periodicidade: "Mensal" },
23
+ // CDI
24
+ { codigo: 12, nome: "Taxa de juros - CDI diária", categoria: "Juros", periodicidade: "Diária" },
25
+ { codigo: 4389, nome: "Taxa de juros - CDI anualizada base 252", categoria: "Juros", periodicidade: "Diária" },
26
+ { codigo: 4391, nome: "Taxa de juros - CDI acumulada no mês", categoria: "Juros", periodicidade: "Mensal" },
27
+ { codigo: 4392, nome: "Taxa de juros - CDI acumulada no mês anualizada", categoria: "Juros", periodicidade: "Mensal" },
28
+ // TR e TJLP
29
+ { codigo: 226, nome: "Taxa Referencial (TR) - diária", categoria: "Juros", periodicidade: "Diária" },
30
+ { codigo: 7811, nome: "Taxa Referencial (TR) - mensal", categoria: "Juros", periodicidade: "Mensal" },
31
+ { codigo: 7812, nome: "Taxa Referencial (TR) - anualizada", categoria: "Juros", periodicidade: "Mensal" },
32
+ { codigo: 256, nome: "Taxa de Juros de Longo Prazo (TJLP)", categoria: "Juros", periodicidade: "Mensal" },
33
+ // Outras taxas de juros
34
+ { codigo: 253, nome: "Taxa de juros - CDB pré-fixado - 30 dias", categoria: "Juros", periodicidade: "Diária" },
35
+ { codigo: 14, nome: "Taxa de juros - Poupança", categoria: "Juros", periodicidade: "Mensal" },
36
+ // ==================== INFLAÇÃO ====================
37
+ // IPCA
38
+ { codigo: 433, nome: "IPCA - Variação mensal", categoria: "Inflação", periodicidade: "Mensal" },
39
+ { codigo: 13522, nome: "IPCA - Variação acumulada em 12 meses", categoria: "Inflação", periodicidade: "Mensal" },
40
+ { codigo: 7478, nome: "IPCA-15 - Variação mensal", categoria: "Inflação", periodicidade: "Mensal" },
41
+ { codigo: 7479, nome: "IPCA-15 - Variação acumulada em 12 meses", categoria: "Inflação", periodicidade: "Mensal" },
42
+ { codigo: 10764, nome: "IPCA-E - Variação mensal", categoria: "Inflação", periodicidade: "Mensal" },
43
+ { codigo: 16121, nome: "IPCA - Núcleo por exclusão - EX0", categoria: "Inflação", periodicidade: "Mensal" },
44
+ { codigo: 16122, nome: "IPCA - Núcleo de dupla ponderação", categoria: "Inflação", periodicidade: "Mensal" },
45
+ { codigo: 11426, nome: "IPCA - Núcleo de médias aparadas com suavização", categoria: "Inflação", periodicidade: "Mensal" },
46
+ { codigo: 11427, nome: "IPCA - Núcleo de médias aparadas sem suavização", categoria: "Inflação", periodicidade: "Mensal" },
47
+ { codigo: 10841, nome: "IPCA - Alimentação e bebidas", categoria: "Inflação", periodicidade: "Mensal" },
48
+ { codigo: 10842, nome: "IPCA - Habitação", categoria: "Inflação", periodicidade: "Mensal" },
49
+ { codigo: 10843, nome: "IPCA - Artigos de residência", categoria: "Inflação", periodicidade: "Mensal" },
50
+ { codigo: 10844, nome: "IPCA - Serviços", categoria: "Inflação", periodicidade: "Mensal" },
51
+ { codigo: 10845, nome: "IPCA - Vestuário", categoria: "Inflação", periodicidade: "Mensal" },
52
+ { codigo: 10846, nome: "IPCA - Transportes", categoria: "Inflação", periodicidade: "Mensal" },
53
+ { codigo: 10847, nome: "IPCA - Saúde e cuidados pessoais", categoria: "Inflação", periodicidade: "Mensal" },
54
+ { codigo: 10848, nome: "IPCA - Despesas pessoais", categoria: "Inflação", periodicidade: "Mensal" },
55
+ { codigo: 10849, nome: "IPCA - Educação", categoria: "Inflação", periodicidade: "Mensal" },
56
+ { codigo: 10850, nome: "IPCA - Comunicação", categoria: "Inflação", periodicidade: "Mensal" },
57
+ { codigo: 4449, nome: "IPCA - Preços administrados", categoria: "Inflação", periodicidade: "Mensal" },
58
+ { codigo: 11428, nome: "IPCA - Preços livres", categoria: "Inflação", periodicidade: "Mensal" },
59
+ // INPC
60
+ { codigo: 188, nome: "INPC - Variação mensal", categoria: "Inflação", periodicidade: "Mensal" },
61
+ { codigo: 13523, nome: "INPC - Variação acumulada em 12 meses", categoria: "Inflação", periodicidade: "Mensal" },
62
+ // IGP
63
+ { codigo: 189, nome: "IGP-M - Variação mensal", categoria: "Inflação", periodicidade: "Mensal" },
64
+ { codigo: 7447, nome: "IGP-10 - Variação mensal", categoria: "Inflação", periodicidade: "Mensal" },
65
+ { codigo: 7448, nome: "IGP-M - 1ª prévia", categoria: "Inflação", periodicidade: "Mensal" },
66
+ { codigo: 7449, nome: "IGP-M - 2ª prévia", categoria: "Inflação", periodicidade: "Mensal" },
67
+ { codigo: 190, nome: "IGP-DI - Variação mensal", categoria: "Inflação", periodicidade: "Mensal" },
68
+ { codigo: 7450, nome: "IPA-M - Variação mensal", categoria: "Inflação", periodicidade: "Mensal" },
69
+ { codigo: 225, nome: "IPA-DI - Geral - Variação mensal", categoria: "Inflação", periodicidade: "Mensal" },
70
+ { codigo: 7459, nome: "IPA-DI - Produtos industriais", categoria: "Inflação", periodicidade: "Mensal" },
71
+ { codigo: 7460, nome: "IPA-DI - Produtos agrícolas", categoria: "Inflação", periodicidade: "Mensal" },
72
+ // Outros índices de preços
73
+ { codigo: 191, nome: "IPC-DI - Variação mensal", categoria: "Inflação", periodicidade: "Mensal" },
74
+ { codigo: 193, nome: "IPC-Fipe - Variação mensal", categoria: "Inflação", periodicidade: "Mensal" },
75
+ { codigo: 17679, nome: "IPC-3i - Variação mensal", categoria: "Inflação", periodicidade: "Mensal" },
76
+ { codigo: 17680, nome: "IPC-C1 - Variação mensal", categoria: "Inflação", periodicidade: "Mensal" },
77
+ // ==================== CÂMBIO ====================
78
+ // Dólar
79
+ { codigo: 1, nome: "Taxa de câmbio - Livre - Dólar americano (venda)", categoria: "Câmbio", periodicidade: "Diária" },
80
+ { codigo: 10813, nome: "Taxa de câmbio - Livre - Dólar americano (compra)", categoria: "Câmbio", periodicidade: "Diária" },
81
+ { codigo: 3698, nome: "Taxa de câmbio - PTAX - Dólar americano (venda)", categoria: "Câmbio", periodicidade: "Diária" },
82
+ { codigo: 3697, nome: "Taxa de câmbio - PTAX - Dólar americano (compra)", categoria: "Câmbio", periodicidade: "Diária" },
83
+ { codigo: 3695, nome: "Taxa de câmbio - PTAX - Dólar americano (média)", categoria: "Câmbio", periodicidade: "Diária" },
84
+ // Euro
85
+ { codigo: 21619, nome: "Taxa de câmbio - Euro (venda)", categoria: "Câmbio", periodicidade: "Diária" },
86
+ { codigo: 21620, nome: "Taxa de câmbio - Euro (compra)", categoria: "Câmbio", periodicidade: "Diária" },
87
+ // Outras moedas
88
+ { codigo: 21623, nome: "Taxa de câmbio - Libra Esterlina (venda)", categoria: "Câmbio", periodicidade: "Diária" },
89
+ { codigo: 21624, nome: "Taxa de câmbio - Libra Esterlina (compra)", categoria: "Câmbio", periodicidade: "Diária" },
90
+ { codigo: 21621, nome: "Taxa de câmbio - Iene (venda)", categoria: "Câmbio", periodicidade: "Diária" },
91
+ { codigo: 21622, nome: "Taxa de câmbio - Iene (compra)", categoria: "Câmbio", periodicidade: "Diária" },
92
+ { codigo: 21625, nome: "Taxa de câmbio - Franco Suíço (venda)", categoria: "Câmbio", periodicidade: "Diária" },
93
+ { codigo: 21626, nome: "Taxa de câmbio - Franco Suíço (compra)", categoria: "Câmbio", periodicidade: "Diária" },
94
+ { codigo: 21637, nome: "Taxa de câmbio - Peso Argentino (venda)", categoria: "Câmbio", periodicidade: "Diária" },
95
+ { codigo: 21638, nome: "Taxa de câmbio - Peso Argentino (compra)", categoria: "Câmbio", periodicidade: "Diária" },
96
+ { codigo: 21639, nome: "Taxa de câmbio - Yuan Chinês (venda)", categoria: "Câmbio", periodicidade: "Diária" },
97
+ { codigo: 21640, nome: "Taxa de câmbio - Yuan Chinês (compra)", categoria: "Câmbio", periodicidade: "Diária" },
98
+ // ==================== PIB E ATIVIDADE ECONÔMICA ====================
99
+ { codigo: 4380, nome: "PIB mensal - Valores correntes (R$ milhões)", categoria: "Atividade Econômica", periodicidade: "Mensal" },
100
+ { codigo: 4381, nome: "PIB acumulado no ano - Valores correntes (R$ milhões)", categoria: "Atividade Econômica", periodicidade: "Mensal" },
101
+ { codigo: 4382, nome: "PIB acumulado dos últimos 12 meses - Valores correntes (R$ milhões)", categoria: "Atividade Econômica", periodicidade: "Mensal" },
102
+ { codigo: 4385, nome: "PIB mensal em US$ (milhões)", categoria: "Atividade Econômica", periodicidade: "Mensal" },
103
+ { codigo: 4386, nome: "PIB acumulado no ano em US$ (milhões)", categoria: "Atividade Econômica", periodicidade: "Mensal" },
104
+ { codigo: 7324, nome: "PIB anual em US$ (milhões)", categoria: "Atividade Econômica", periodicidade: "Anual" },
105
+ // IBC-Br
106
+ { codigo: 24363, nome: "IBC-Br - Índice de Atividade Econômica (sem ajuste)", categoria: "Atividade Econômica", periodicidade: "Mensal" },
107
+ { codigo: 24364, nome: "IBC-Br - Índice de Atividade Econômica (com ajuste sazonal)", categoria: "Atividade Econômica", periodicidade: "Mensal" },
108
+ { codigo: 29601, nome: "IBC-Br - Agropecuária (sem ajuste)", categoria: "Atividade Econômica", periodicidade: "Mensal" },
109
+ { codigo: 29602, nome: "IBC-Br - Agropecuária (com ajuste sazonal)", categoria: "Atividade Econômica", periodicidade: "Mensal" },
110
+ { codigo: 29603, nome: "IBC-Br - Indústria (sem ajuste)", categoria: "Atividade Econômica", periodicidade: "Mensal" },
111
+ { codigo: 29604, nome: "IBC-Br - Indústria (com ajuste sazonal)", categoria: "Atividade Econômica", periodicidade: "Mensal" },
112
+ { codigo: 29605, nome: "IBC-Br - Serviços (sem ajuste)", categoria: "Atividade Econômica", periodicidade: "Mensal" },
113
+ { codigo: 29606, nome: "IBC-Br - Serviços (com ajuste sazonal)", categoria: "Atividade Econômica", periodicidade: "Mensal" },
114
+ // Contas Nacionais Trimestrais
115
+ { codigo: 22099, nome: "PIB trimestral - Taxa de variação (%)", categoria: "Atividade Econômica", periodicidade: "Trimestral" },
116
+ { codigo: 22103, nome: "Exportação de bens e serviços - Trimestral", categoria: "Atividade Econômica", periodicidade: "Trimestral" },
117
+ { codigo: 22104, nome: "Importação de bens e serviços - Trimestral", categoria: "Atividade Econômica", periodicidade: "Trimestral" },
118
+ { codigo: 22109, nome: "Consumo das famílias - Trimestral", categoria: "Atividade Econômica", periodicidade: "Trimestral" },
119
+ { codigo: 22110, nome: "Consumo do governo - Trimestral", categoria: "Atividade Econômica", periodicidade: "Trimestral" },
120
+ { codigo: 22111, nome: "Formação bruta de capital fixo - Trimestral", categoria: "Atividade Econômica", periodicidade: "Trimestral" },
121
+ // Produção Industrial
122
+ { codigo: 21859, nome: "Produção industrial - Geral - Variação mensal", categoria: "Atividade Econômica", periodicidade: "Mensal" },
123
+ { codigo: 21860, nome: "Produção industrial - Geral - Variação acum. 12 meses", categoria: "Atividade Econômica", periodicidade: "Mensal" },
124
+ { codigo: 21862, nome: "Utilização da capacidade instalada - Indústria", categoria: "Atividade Econômica", periodicidade: "Mensal" },
125
+ // ==================== EMPREGO ====================
126
+ { codigo: 24369, nome: "Taxa de desocupação - PNAD Contínua", categoria: "Emprego", periodicidade: "Mensal" },
127
+ { codigo: 28763, nome: "Taxa de desocupação - PNAD Contínua - Trimestral", categoria: "Emprego", periodicidade: "Trimestral" },
128
+ { codigo: 24370, nome: "Taxa de participação na força de trabalho", categoria: "Emprego", periodicidade: "Mensal" },
129
+ { codigo: 24380, nome: "Rendimento médio real habitual - Todos os trabalhos", categoria: "Emprego", periodicidade: "Mensal" },
130
+ { codigo: 24381, nome: "Massa de rendimento real habitual", categoria: "Emprego", periodicidade: "Mensal" },
131
+ { codigo: 28785, nome: "Pessoal ocupado - Total (milhões)", categoria: "Emprego", periodicidade: "Mensal" },
132
+ { codigo: 28561, nome: "CAGED - Saldo de empregos formais", categoria: "Emprego", periodicidade: "Mensal" },
133
+ // ==================== DÍVIDA PÚBLICA E FISCAL ====================
134
+ { codigo: 4503, nome: "Dívida líquida do setor público (% PIB)", categoria: "Fiscal", periodicidade: "Mensal" },
135
+ { codigo: 4513, nome: "Dívida bruta do governo geral (% PIB)", categoria: "Fiscal", periodicidade: "Mensal" },
136
+ { codigo: 4505, nome: "Dívida líquida do governo federal (% PIB)", categoria: "Fiscal", periodicidade: "Mensal" },
137
+ { codigo: 4536, nome: "Necessidade de financiamento - Setor público (% PIB)", categoria: "Fiscal", periodicidade: "Mensal" },
138
+ { codigo: 4537, nome: "Resultado primário - Setor público (% PIB)", categoria: "Fiscal", periodicidade: "Mensal" },
139
+ { codigo: 4538, nome: "Juros nominais - Setor público (% PIB)", categoria: "Fiscal", periodicidade: "Mensal" },
140
+ { codigo: 4539, nome: "Resultado nominal - Setor público (% PIB)", categoria: "Fiscal", periodicidade: "Mensal" },
141
+ { codigo: 5364, nome: "Receita total do governo central", categoria: "Fiscal", periodicidade: "Mensal" },
142
+ { codigo: 5793, nome: "Despesa total do governo central", categoria: "Fiscal", periodicidade: "Mensal" },
143
+ // ==================== SETOR EXTERNO ====================
144
+ // Reservas Internacionais
145
+ { codigo: 3546, nome: "Reservas internacionais - Conceito liquidez - Total", categoria: "Setor Externo", periodicidade: "Diária" },
146
+ { codigo: 13621, nome: "Reservas internacionais - Conceito liquidez - Mensal", categoria: "Setor Externo", periodicidade: "Mensal" },
147
+ // Balança Comercial
148
+ { codigo: 22707, nome: "Balança comercial - Saldo mensal (US$ milhões)", categoria: "Setor Externo", periodicidade: "Mensal" },
149
+ { codigo: 22708, nome: "Exportação de bens - Mensal (US$ milhões)", categoria: "Setor Externo", periodicidade: "Mensal" },
150
+ { codigo: 22709, nome: "Importação de bens - Mensal (US$ milhões)", categoria: "Setor Externo", periodicidade: "Mensal" },
151
+ { codigo: 22714, nome: "Balança comercial - Saldo acumulado 12 meses (US$ milhões)", categoria: "Setor Externo", periodicidade: "Mensal" },
152
+ // Balanço de Pagamentos
153
+ { codigo: 22701, nome: "Transações correntes - Saldo mensal (US$ milhões)", categoria: "Setor Externo", periodicidade: "Mensal" },
154
+ { codigo: 22704, nome: "Transações correntes - Saldo acumulado 12 meses (% PIB)", categoria: "Setor Externo", periodicidade: "Mensal" },
155
+ { codigo: 22715, nome: "Serviços - Saldo mensal (US$ milhões)", categoria: "Setor Externo", periodicidade: "Mensal" },
156
+ { codigo: 22716, nome: "Renda primária - Saldo mensal (US$ milhões)", categoria: "Setor Externo", periodicidade: "Mensal" },
157
+ { codigo: 22846, nome: "Investimento direto no país - Mensal (US$ milhões)", categoria: "Setor Externo", periodicidade: "Mensal" },
158
+ { codigo: 22885, nome: "Investimento em carteira - Mensal (US$ milhões)", categoria: "Setor Externo", periodicidade: "Mensal" },
159
+ // Dívida Externa
160
+ { codigo: 13690, nome: "Dívida externa total (US$ milhões)", categoria: "Setor Externo", periodicidade: "Mensal" },
161
+ // ==================== CRÉDITO ====================
162
+ // Saldo de crédito
163
+ { codigo: 20539, nome: "Saldo da carteira de crédito - Total", categoria: "Crédito", periodicidade: "Mensal" },
164
+ { codigo: 20540, nome: "Saldo da carteira de crédito - Pessoas físicas", categoria: "Crédito", periodicidade: "Mensal" },
165
+ { codigo: 20541, nome: "Saldo da carteira de crédito - Pessoas jurídicas", categoria: "Crédito", periodicidade: "Mensal" },
166
+ { codigo: 20542, nome: "Saldo de crédito com recursos livres - Total", categoria: "Crédito", periodicidade: "Mensal" },
167
+ { codigo: 20570, nome: "Saldo de crédito com recursos livres - Pessoas físicas", categoria: "Crédito", periodicidade: "Mensal" },
168
+ { codigo: 20592, nome: "Saldo de crédito com recursos livres - Pessoas jurídicas", categoria: "Crédito", periodicidade: "Mensal" },
169
+ { codigo: 20615, nome: "Saldo de crédito com recursos direcionados - Total", categoria: "Crédito", periodicidade: "Mensal" },
170
+ // Concessões de crédito
171
+ { codigo: 20631, nome: "Concessões de crédito - Total", categoria: "Crédito", periodicidade: "Mensal" },
172
+ { codigo: 20665, nome: "Concessões de crédito - Cheque especial - Pessoas físicas", categoria: "Crédito", periodicidade: "Mensal" },
173
+ // Taxa média de juros
174
+ { codigo: 20714, nome: "Taxa média de juros - Crédito total", categoria: "Crédito", periodicidade: "Mensal" },
175
+ { codigo: 20716, nome: "Taxa média de juros - Crédito pessoas físicas", categoria: "Crédito", periodicidade: "Mensal" },
176
+ { codigo: 20740, nome: "Taxa média de juros - Crédito recursos livres - PF", categoria: "Crédito", periodicidade: "Mensal" },
177
+ { codigo: 20749, nome: "Taxa média de juros - Aquisição de veículos - PF", categoria: "Crédito", periodicidade: "Mensal" },
178
+ { codigo: 20772, nome: "Taxa média de juros - Financiamento imobiliário - PF", categoria: "Crédito", periodicidade: "Mensal" },
179
+ { codigo: 25497, nome: "Taxa média de juros - Financiamento imobiliário taxas de mercado", categoria: "Crédito", periodicidade: "Mensal" },
180
+ // Spread bancário
181
+ { codigo: 20783, nome: "Spread médio - Crédito total", categoria: "Crédito", periodicidade: "Mensal" },
182
+ { codigo: 20785, nome: "Spread médio - Crédito pessoas físicas", categoria: "Crédito", periodicidade: "Mensal" },
183
+ { codigo: 20786, nome: "Spread médio - Crédito pessoas jurídicas", categoria: "Crédito", periodicidade: "Mensal" },
184
+ // Inadimplência
185
+ { codigo: 21082, nome: "Inadimplência - Crédito total", categoria: "Crédito", periodicidade: "Mensal" },
186
+ { codigo: 21084, nome: "Inadimplência - Crédito pessoas físicas", categoria: "Crédito", periodicidade: "Mensal" },
187
+ { codigo: 21085, nome: "Inadimplência - Crédito pessoas jurídicas", categoria: "Crédito", periodicidade: "Mensal" },
188
+ { codigo: 21128, nome: "Inadimplência - Cartão de crédito parcelado - PF", categoria: "Crédito", periodicidade: "Mensal" },
189
+ { codigo: 21129, nome: "Inadimplência - Cartão de crédito total - PF", categoria: "Crédito", periodicidade: "Mensal" },
190
+ { codigo: 13685, nome: "Inadimplência - Instituições financeiras privadas", categoria: "Crédito", periodicidade: "Mensal" },
191
+ // ==================== AGREGADOS MONETÁRIOS ====================
192
+ { codigo: 1788, nome: "Base monetária - Saldo fim de período", categoria: "Agregados Monetários", periodicidade: "Mensal" },
193
+ { codigo: 1833, nome: "Base monetária ampliada - M4 - Saldo fim de período", categoria: "Agregados Monetários", periodicidade: "Mensal" },
194
+ { codigo: 27788, nome: "Meios de pagamento - M1 - Saldo fim de período", categoria: "Agregados Monetários", periodicidade: "Mensal" },
195
+ { codigo: 27789, nome: "Meios de pagamento - M2 - Saldo fim de período", categoria: "Agregados Monetários", periodicidade: "Mensal" },
196
+ { codigo: 27790, nome: "Meios de pagamento - M3 - Saldo fim de período", categoria: "Agregados Monetários", periodicidade: "Mensal" },
197
+ { codigo: 27791, nome: "Meios de pagamento - M4 - Saldo fim de período", categoria: "Agregados Monetários", periodicidade: "Mensal" },
198
+ { codigo: 27815, nome: "Multiplicador monetário - Base para M4", categoria: "Agregados Monetários", periodicidade: "Mensal" },
199
+ { codigo: 7530, nome: "Multiplicador monetário - Média do mês", categoria: "Agregados Monetários", periodicidade: "Mensal" },
200
+ // ==================== POUPANÇA ====================
201
+ { codigo: 25, nome: "Poupança - Rendimento no mês de referência", categoria: "Poupança", periodicidade: "Mensal" },
202
+ { codigo: 195, nome: "Poupança - Saldo total", categoria: "Poupança", periodicidade: "Mensal" },
203
+ { codigo: 7165, nome: "Poupança - Captação líquida", categoria: "Poupança", periodicidade: "Mensal" },
204
+ { codigo: 7166, nome: "Poupança - Depósitos", categoria: "Poupança", periodicidade: "Mensal" },
205
+ { codigo: 7167, nome: "Poupança - Retiradas", categoria: "Poupança", periodicidade: "Mensal" },
206
+ // ==================== ÍNDICES DE MERCADO ====================
207
+ { codigo: 12466, nome: "IMA-B - Índice de Mercado ANBIMA (Base)", categoria: "Índices de Mercado", periodicidade: "Diária" },
208
+ { codigo: 12467, nome: "IMA-B5 - Índice de Mercado ANBIMA (até 5 anos)", categoria: "Índices de Mercado", periodicidade: "Diária" },
209
+ { codigo: 12468, nome: "IMA-B5+ - Índice de Mercado ANBIMA (acima 5 anos)", categoria: "Índices de Mercado", periodicidade: "Diária" },
210
+ { codigo: 7832, nome: "Ibovespa - Índice mensal", categoria: "Índices de Mercado", periodicidade: "Mensal" },
211
+ // ==================== EXPECTATIVAS (Focus) ====================
212
+ { codigo: 29033, nome: "Expectativa IPCA - Mediana - Ano corrente", categoria: "Expectativas", periodicidade: "Semanal" },
213
+ { codigo: 29034, nome: "Expectativa IPCA - Mediana - Próximo ano", categoria: "Expectativas", periodicidade: "Semanal" },
214
+ { codigo: 29035, nome: "Expectativa Selic - Mediana - Ano corrente", categoria: "Expectativas", periodicidade: "Semanal" },
215
+ { codigo: 29036, nome: "Expectativa Selic - Mediana - Próximo ano", categoria: "Expectativas", periodicidade: "Semanal" },
216
+ { codigo: 29037, nome: "Expectativa PIB - Mediana - Ano corrente", categoria: "Expectativas", periodicidade: "Semanal" },
217
+ { codigo: 29038, nome: "Expectativa PIB - Mediana - Próximo ano", categoria: "Expectativas", periodicidade: "Semanal" },
218
+ { codigo: 29039, nome: "Expectativa Câmbio - Mediana - Ano corrente", categoria: "Expectativas", periodicidade: "Semanal" },
219
+ { codigo: 29040, nome: "Expectativa Câmbio - Mediana - Próximo ano", categoria: "Expectativas", periodicidade: "Semanal" }
220
+ ];
221
+ // Helper function to format date for API (dd/MM/yyyy)
222
+ function formatDateForApi(dateStr) {
223
+ // Accept formats: yyyy-MM-dd, dd/MM/yyyy
224
+ if (dateStr.includes("-")) {
225
+ const [year, month, day] = dateStr.split("-");
226
+ return `${day}/${month}/${year}`;
227
+ }
228
+ return dateStr;
229
+ }
230
+ // Helper function to fetch from BCB API
231
+ async function fetchBcbApi(url) {
232
+ const response = await fetch(url, {
233
+ headers: {
234
+ "Accept": "application/json",
235
+ "User-Agent": "bcb-br-mcp/1.0.0"
236
+ }
237
+ });
238
+ if (!response.ok) {
239
+ if (response.status === 404) {
240
+ throw new Error(`Série não encontrada ou sem dados para o período solicitado`);
241
+ }
242
+ throw new Error(`Erro na API do BCB: ${response.status} ${response.statusText}`);
243
+ }
244
+ return response.json();
245
+ }
246
+ // Create MCP server
247
+ const server = new McpServer({
248
+ name: "bcb-br-mcp",
249
+ version: "1.0.0"
250
+ });
251
+ // Tool: Get series values
252
+ server.tool("bcb_serie_valores", "Consulta valores de uma série temporal do BCB por código. Retorna dados históricos com data e valor.", {
253
+ codigo: z.number().describe("Código da série no SGS/BCB (ex: 433 para IPCA mensal, 11 para Selic)"),
254
+ dataInicial: z.string().optional().describe("Data inicial no formato yyyy-MM-dd ou dd/MM/yyyy (opcional)"),
255
+ dataFinal: z.string().optional().describe("Data final no formato yyyy-MM-dd ou dd/MM/yyyy (opcional)")
256
+ }, async ({ codigo, dataInicial, dataFinal }) => {
257
+ try {
258
+ let url = `${BCB_API_BASE}.${codigo}/dados?formato=json`;
259
+ if (dataInicial) {
260
+ url += `&dataInicial=${formatDateForApi(dataInicial)}`;
261
+ }
262
+ if (dataFinal) {
263
+ url += `&dataFinal=${formatDateForApi(dataFinal)}`;
264
+ }
265
+ const data = await fetchBcbApi(url);
266
+ if (!Array.isArray(data) || data.length === 0) {
267
+ return {
268
+ content: [{
269
+ type: "text",
270
+ text: `Nenhum dado encontrado para a série ${codigo} no período solicitado.`
271
+ }]
272
+ };
273
+ }
274
+ // Find series info if available
275
+ const serieInfo = SERIES_POPULARES.find(s => s.codigo === codigo);
276
+ const result = {
277
+ serie: {
278
+ codigo,
279
+ nome: serieInfo?.nome || `Série ${codigo}`,
280
+ categoria: serieInfo?.categoria || "Desconhecida",
281
+ periodicidade: serieInfo?.periodicidade || "Desconhecida"
282
+ },
283
+ totalRegistros: data.length,
284
+ periodoInicial: data[0].data,
285
+ periodoFinal: data[data.length - 1].data,
286
+ dados: data.map(d => ({
287
+ data: d.data,
288
+ valor: parseFloat(d.valor)
289
+ }))
290
+ };
291
+ return {
292
+ content: [{
293
+ type: "text",
294
+ text: JSON.stringify(result, null, 2)
295
+ }]
296
+ };
297
+ }
298
+ catch (error) {
299
+ return {
300
+ content: [{
301
+ type: "text",
302
+ text: `Erro ao consultar série ${codigo}: ${error instanceof Error ? error.message : String(error)}`
303
+ }],
304
+ isError: true
305
+ };
306
+ }
307
+ });
308
+ // Tool: Get last N values
309
+ server.tool("bcb_serie_ultimos", "Obtém os últimos N valores de uma série temporal do BCB. Útil para consultar dados mais recentes.", {
310
+ codigo: z.number().describe("Código da série no SGS/BCB"),
311
+ quantidade: z.number().min(1).max(1000).default(10).describe("Quantidade de valores a retornar (1-1000, padrão: 10)")
312
+ }, async ({ codigo, quantidade }) => {
313
+ try {
314
+ const url = `${BCB_API_BASE}.${codigo}/dados/ultimos/${quantidade}?formato=json`;
315
+ const data = await fetchBcbApi(url);
316
+ if (!Array.isArray(data) || data.length === 0) {
317
+ return {
318
+ content: [{
319
+ type: "text",
320
+ text: `Nenhum dado encontrado para a série ${codigo}.`
321
+ }]
322
+ };
323
+ }
324
+ const serieInfo = SERIES_POPULARES.find(s => s.codigo === codigo);
325
+ const result = {
326
+ serie: {
327
+ codigo,
328
+ nome: serieInfo?.nome || `Série ${codigo}`,
329
+ categoria: serieInfo?.categoria || "Desconhecida",
330
+ periodicidade: serieInfo?.periodicidade || "Desconhecida"
331
+ },
332
+ totalRegistros: data.length,
333
+ dados: data.map(d => ({
334
+ data: d.data,
335
+ valor: parseFloat(d.valor)
336
+ }))
337
+ };
338
+ return {
339
+ content: [{
340
+ type: "text",
341
+ text: JSON.stringify(result, null, 2)
342
+ }]
343
+ };
344
+ }
345
+ catch (error) {
346
+ return {
347
+ content: [{
348
+ type: "text",
349
+ text: `Erro ao consultar últimos valores da série ${codigo}: ${error instanceof Error ? error.message : String(error)}`
350
+ }],
351
+ isError: true
352
+ };
353
+ }
354
+ });
355
+ // Tool: Get series metadata
356
+ server.tool("bcb_serie_metadados", "Obtém informações/metadados de uma série temporal do BCB. Retorna nome, periodicidade, categoria e outros detalhes.", {
357
+ codigo: z.number().describe("Código da série no SGS/BCB")
358
+ }, async ({ codigo }) => {
359
+ try {
360
+ // Try to fetch metadata from API endpoint
361
+ const metadataUrl = `https://api.bcb.gov.br/dados/serie/bcdata.sgs.${codigo}/metadados?formato=json`;
362
+ try {
363
+ const metadata = await fetchBcbApi(metadataUrl);
364
+ const serieInfo = SERIES_POPULARES.find(s => s.codigo === codigo);
365
+ const result = {
366
+ codigo: metadata.codigo || codigo,
367
+ nome: metadata.nome || serieInfo?.nome || `Série ${codigo}`,
368
+ unidade: metadata.unidade || "Não informada",
369
+ periodicidade: metadata.periodicidade || serieInfo?.periodicidade || "Não informada",
370
+ fonte: metadata.fonte || "Banco Central do Brasil",
371
+ categoria: serieInfo?.categoria || "Não categorizada",
372
+ especial: metadata.especial || false,
373
+ urlConsulta: `${BCB_API_BASE}.${codigo}/dados?formato=json`,
374
+ urlUltimos10: `${BCB_API_BASE}.${codigo}/dados/ultimos/10?formato=json`
375
+ };
376
+ return {
377
+ content: [{
378
+ type: "text",
379
+ text: JSON.stringify(result, null, 2)
380
+ }]
381
+ };
382
+ }
383
+ catch {
384
+ // If metadata endpoint fails, try to get info from popular series or fetch sample data
385
+ const serieInfo = SERIES_POPULARES.find(s => s.codigo === codigo);
386
+ if (serieInfo) {
387
+ const result = {
388
+ codigo,
389
+ nome: serieInfo.nome,
390
+ periodicidade: serieInfo.periodicidade,
391
+ categoria: serieInfo.categoria,
392
+ fonte: "Banco Central do Brasil",
393
+ urlConsulta: `${BCB_API_BASE}.${codigo}/dados?formato=json`,
394
+ urlUltimos10: `${BCB_API_BASE}.${codigo}/dados/ultimos/10?formato=json`,
395
+ observacao: "Metadados obtidos do catálogo interno"
396
+ };
397
+ return {
398
+ content: [{
399
+ type: "text",
400
+ text: JSON.stringify(result, null, 2)
401
+ }]
402
+ };
403
+ }
404
+ // Try to verify if series exists by fetching last value
405
+ const url = `${BCB_API_BASE}.${codigo}/dados/ultimos/1?formato=json`;
406
+ const data = await fetchBcbApi(url);
407
+ if (Array.isArray(data) && data.length > 0) {
408
+ const result = {
409
+ codigo,
410
+ nome: `Série ${codigo}`,
411
+ ultimoValor: {
412
+ data: data[0].data,
413
+ valor: parseFloat(data[0].valor)
414
+ },
415
+ fonte: "Banco Central do Brasil",
416
+ urlConsulta: `${BCB_API_BASE}.${codigo}/dados?formato=json`,
417
+ observacao: "Série encontrada, mas metadados detalhados não disponíveis"
418
+ };
419
+ return {
420
+ content: [{
421
+ type: "text",
422
+ text: JSON.stringify(result, null, 2)
423
+ }]
424
+ };
425
+ }
426
+ throw new Error("Série não encontrada");
427
+ }
428
+ }
429
+ catch (error) {
430
+ return {
431
+ content: [{
432
+ type: "text",
433
+ text: `Erro ao consultar metadados da série ${codigo}: ${error instanceof Error ? error.message : String(error)}`
434
+ }],
435
+ isError: true
436
+ };
437
+ }
438
+ });
439
+ // Tool: List popular series
440
+ server.tool("bcb_series_populares", "Lista 150+ séries temporais do BCB com seus códigos. Inclui juros, inflação, câmbio, PIB, emprego, crédito e outros indicadores econômicos.", {
441
+ categoria: z.string().optional().describe("Filtrar por categoria: Juros, Inflação, Câmbio, Atividade Econômica, Emprego, Fiscal, Setor Externo, Crédito, Agregados Monetários, Poupança, Índices de Mercado, Expectativas")
442
+ }, async ({ categoria }) => {
443
+ try {
444
+ let series = SERIES_POPULARES;
445
+ if (categoria) {
446
+ series = series.filter(s => s.categoria.toLowerCase().includes(categoria.toLowerCase()));
447
+ }
448
+ // Group by category
449
+ const porCategoria = {};
450
+ for (const serie of series) {
451
+ if (!porCategoria[serie.categoria]) {
452
+ porCategoria[serie.categoria] = [];
453
+ }
454
+ porCategoria[serie.categoria].push(serie);
455
+ }
456
+ const result = {
457
+ totalSeries: series.length,
458
+ categorias: Object.keys(porCategoria).length,
459
+ series: categoria ? series : porCategoria,
460
+ observacao: "Use bcb_serie_valores ou bcb_serie_ultimos com o código para consultar os dados"
461
+ };
462
+ return {
463
+ content: [{
464
+ type: "text",
465
+ text: JSON.stringify(result, null, 2)
466
+ }]
467
+ };
468
+ }
469
+ catch (error) {
470
+ return {
471
+ content: [{
472
+ type: "text",
473
+ text: `Erro ao listar séries: ${error instanceof Error ? error.message : String(error)}`
474
+ }],
475
+ isError: true
476
+ };
477
+ }
478
+ });
479
+ // Tool: Search series by name
480
+ server.tool("bcb_buscar_serie", "Busca séries no catálogo interno por nome ou descrição. Retorna séries que correspondem ao termo buscado.", {
481
+ termo: z.string().min(2).describe("Termo de busca (mínimo 2 caracteres)")
482
+ }, async ({ termo }) => {
483
+ try {
484
+ const termoLower = termo.toLowerCase();
485
+ const encontradas = SERIES_POPULARES.filter(s => s.nome.toLowerCase().includes(termoLower) ||
486
+ s.categoria.toLowerCase().includes(termoLower));
487
+ if (encontradas.length === 0) {
488
+ return {
489
+ content: [{
490
+ type: "text",
491
+ text: JSON.stringify({
492
+ termo,
493
+ totalEncontradas: 0,
494
+ mensagem: "Nenhuma série encontrada no catálogo interno. Use o portal SGS do BCB para buscar outras séries: https://www3.bcb.gov.br/sgspub/",
495
+ sugestao: "Tente termos como: selic, ipca, dolar, cambio, pib, inflacao"
496
+ }, null, 2)
497
+ }]
498
+ };
499
+ }
500
+ const result = {
501
+ termo,
502
+ totalEncontradas: encontradas.length,
503
+ series: encontradas
504
+ };
505
+ return {
506
+ content: [{
507
+ type: "text",
508
+ text: JSON.stringify(result, null, 2)
509
+ }]
510
+ };
511
+ }
512
+ catch (error) {
513
+ return {
514
+ content: [{
515
+ type: "text",
516
+ text: `Erro ao buscar séries: ${error instanceof Error ? error.message : String(error)}`
517
+ }],
518
+ isError: true
519
+ };
520
+ }
521
+ });
522
+ // Tool: Get current indicators (convenience)
523
+ server.tool("bcb_indicadores_atuais", "Obtém os valores mais recentes dos principais indicadores econômicos: Selic, IPCA, Dólar PTAX e IBC-Br.", {}, async () => {
524
+ try {
525
+ const indicadores = [
526
+ { codigo: 432, nome: "Selic (a.a.)" },
527
+ { codigo: 433, nome: "IPCA mensal (%)" },
528
+ { codigo: 13522, nome: "IPCA 12 meses (%)" },
529
+ { codigo: 3698, nome: "Dólar PTAX (venda)" },
530
+ { codigo: 24364, nome: "IBC-Br" }
531
+ ];
532
+ const resultados = await Promise.all(indicadores.map(async (ind) => {
533
+ try {
534
+ const url = `${BCB_API_BASE}.${ind.codigo}/dados/ultimos/1?formato=json`;
535
+ const data = await fetchBcbApi(url);
536
+ if (Array.isArray(data) && data.length > 0) {
537
+ return {
538
+ indicador: ind.nome,
539
+ codigo: ind.codigo,
540
+ data: data[0].data,
541
+ valor: parseFloat(data[0].valor)
542
+ };
543
+ }
544
+ return {
545
+ indicador: ind.nome,
546
+ codigo: ind.codigo,
547
+ erro: "Sem dados disponíveis"
548
+ };
549
+ }
550
+ catch (err) {
551
+ return {
552
+ indicador: ind.nome,
553
+ codigo: ind.codigo,
554
+ erro: err instanceof Error ? err.message : "Erro desconhecido"
555
+ };
556
+ }
557
+ }));
558
+ return {
559
+ content: [{
560
+ type: "text",
561
+ text: JSON.stringify({
562
+ consultadoEm: new Date().toISOString(),
563
+ indicadores: resultados
564
+ }, null, 2)
565
+ }]
566
+ };
567
+ }
568
+ catch (error) {
569
+ return {
570
+ content: [{
571
+ type: "text",
572
+ text: `Erro ao consultar indicadores: ${error instanceof Error ? error.message : String(error)}`
573
+ }],
574
+ isError: true
575
+ };
576
+ }
577
+ });
578
+ // Start server
579
+ async function main() {
580
+ const transport = new StdioServerTransport();
581
+ await server.connect(transport);
582
+ }
583
+ main().catch(console.error);
584
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAe;AACf,MAAM,YAAY,GAAG,+CAA+C,CAAC;AAErE,qDAAqD;AACrD,MAAM,gBAAgB,GAAG;IACvB,0DAA0D;IAC1D,QAAQ;IACR,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,wCAAwC,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC3G,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,2CAA2C,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC/G,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kDAAkD,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE;IACvH,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,mDAAmD,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE;IACxH,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,8BAA8B,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE;IAEnG,MAAM;IACN,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC/F,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,yCAAyC,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC9G,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,sCAAsC,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC3G,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,iDAAiD,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE;IAEtH,YAAY;IACZ,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,gCAAgC,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE;IACpG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,gCAAgC,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE;IACrG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,oCAAoC,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE;IACzG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,qCAAqC,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE;IAEzG,wBAAwB;IACxB,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,0CAA0C,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC9G,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE;IAE7F,qDAAqD;IACrD,OAAO;IACP,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC/F,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uCAAuC,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAChH,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,2BAA2B,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IACnG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,0CAA0C,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAClH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IACnG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kCAAkC,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC3G,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mCAAmC,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC5G,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iDAAiD,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC1H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iDAAiD,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC1H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,8BAA8B,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IACvG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC3F,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,8BAA8B,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IACvG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC1F,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC3F,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC7F,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kCAAkC,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC3G,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IACnG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC1F,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC7F,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,6BAA6B,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IACrG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAE/F,OAAO;IACP,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC/F,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uCAAuC,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAEhH,MAAM;IACN,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,yBAAyB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAChG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAClG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC3F,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC3F,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IACjG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,yBAAyB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IACjG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,kCAAkC,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IACzG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,+BAA+B,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IACvG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,6BAA6B,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAErG,2BAA2B;IAC3B,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IACjG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,4BAA4B,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IACnG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IACnG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAEnG,mDAAmD;IACnD,QAAQ;IACR,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,kDAAkD,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IACrH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mDAAmD,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC1H,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,iDAAiD,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IACvH,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kDAAkD,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IACxH,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,iDAAiD,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IAEvH,OAAO;IACP,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,+BAA+B,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IACtG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gCAAgC,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IAEvG,gBAAgB;IAChB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0CAA0C,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IACjH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2CAA2C,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IAClH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,+BAA+B,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IACtG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gCAAgC,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IACvG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uCAAuC,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC9G,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wCAAwC,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC/G,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,yCAAyC,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IAChH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0CAA0C,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IACjH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sCAAsC,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC7G,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uCAAuC,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IAE9G,sEAAsE;IACtE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,6CAA6C,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;IAChI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,uDAAuD,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC1I,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,qEAAqE,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;IACxJ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,6BAA6B,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;IAChH,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,uCAAuC,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC1H,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,4BAA4B,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,OAAO,EAAE;IAE9G,SAAS;IACT,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qDAAqD,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;IACzI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,6DAA6D,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;IACjJ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oCAAoC,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;IACxH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,4CAA4C,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;IAChI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iCAAiC,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;IACrH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,yCAAyC,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC7H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gCAAgC,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;IACpH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wCAAwC,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;IAE5H,+BAA+B;IAC/B,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uCAAuC,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,YAAY,EAAE;IAC/H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,4CAA4C,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,YAAY,EAAE;IACpI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,4CAA4C,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,YAAY,EAAE;IACpI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mCAAmC,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,YAAY,EAAE;IAC3H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iCAAiC,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,YAAY,EAAE;IACzH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,6CAA6C,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,YAAY,EAAE;IAErI,sBAAsB;IACtB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,+CAA+C,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;IACnI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uDAAuD,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC3I,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gDAAgD,EAAE,SAAS,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE;IAEpI,oDAAoD;IACpD,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qCAAqC,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC7G,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kDAAkD,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE;IAC9H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2CAA2C,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IACnH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qDAAqD,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC7H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mCAAmC,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC3G,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mCAAmC,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC3G,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mCAAmC,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAE3G,oEAAoE;IACpE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,yCAAyC,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC/G,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,uCAAuC,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC7G,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,2CAA2C,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IACjH,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,sDAAsD,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC5H,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,4CAA4C,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IAClH,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,wCAAwC,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC9G,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,2CAA2C,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IACjH,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kCAAkC,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IACxG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,kCAAkC,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE;IAExG,0DAA0D;IAC1D,0BAA0B;IAC1B,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,qDAAqD,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE;IAClI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sDAAsD,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE;IAEpI,oBAAoB;IACpB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gDAAgD,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC9H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2CAA2C,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE;IACzH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2CAA2C,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE;IACzH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,4DAA4D,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE;IAE1I,wBAAwB;IACxB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mDAAmD,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE;IACjI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,yDAAyD,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE;IACvI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,uCAAuC,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE;IACrH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,6CAA6C,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC3H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oDAAoD,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE;IAClI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,iDAAiD,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE;IAE/H,iBAAiB;IACjB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oCAAoC,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE;IAElH,oDAAoD;IACpD,mBAAmB;IACnB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sCAAsC,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC9G,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gDAAgD,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IACxH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kDAAkD,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC1H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,8CAA8C,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IACtH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wDAAwD,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAChI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0DAA0D,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAClI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oDAAoD,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAE5H,wBAAwB;IACxB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,+BAA+B,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IACvG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2DAA2D,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAEnI,sBAAsB;IACtB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,qCAAqC,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC7G,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,+CAA+C,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IACvH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,oDAAoD,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC5H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kDAAkD,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC1H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,sDAAsD,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC9H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kEAAkE,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAE1I,kBAAkB;IAClB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,8BAA8B,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IACtG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wCAAwC,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAChH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0CAA0C,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAElH,gBAAgB;IAChB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,+BAA+B,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IACvG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,yCAAyC,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IACjH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2CAA2C,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IACnH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kDAAkD,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC1H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,8CAA8C,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IACtH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mDAAmD,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE;IAE3H,iEAAiE;IACjE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,uCAAuC,EAAE,SAAS,EAAE,sBAAsB,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC3H,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,qDAAqD,EAAE,SAAS,EAAE,sBAAsB,EAAE,aAAa,EAAE,QAAQ,EAAE;IACzI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gDAAgD,EAAE,SAAS,EAAE,sBAAsB,EAAE,aAAa,EAAE,QAAQ,EAAE;IACrI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gDAAgD,EAAE,SAAS,EAAE,sBAAsB,EAAE,aAAa,EAAE,QAAQ,EAAE;IACrI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gDAAgD,EAAE,SAAS,EAAE,sBAAsB,EAAE,aAAa,EAAE,QAAQ,EAAE;IACrI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gDAAgD,EAAE,SAAS,EAAE,sBAAsB,EAAE,aAAa,EAAE,QAAQ,EAAE;IACrI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,wCAAwC,EAAE,SAAS,EAAE,sBAAsB,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC7H,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,wCAAwC,EAAE,SAAS,EAAE,sBAAsB,EAAE,aAAa,EAAE,QAAQ,EAAE;IAE5H,qDAAqD;IACrD,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,4CAA4C,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAClH,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC/F,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,6BAA6B,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IACrG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC9F,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE;IAE9F,+DAA+D;IAC/D,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,yCAAyC,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,QAAQ,EAAE;IAC5H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,gDAAgD,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,QAAQ,EAAE;IACnI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mDAAmD,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,QAAQ,EAAE;IACtI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,EAAE,QAAQ,EAAE;IAE5G,iEAAiE;IACjE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2CAA2C,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE;IACzH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0CAA0C,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE;IACxH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,4CAA4C,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE;IAC1H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,2CAA2C,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE;IACzH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0CAA0C,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE;IACxH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,yCAAyC,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE;IACvH,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,6CAA6C,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE;IAC3H,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,4CAA4C,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE;CAC3H,CAAC;AAiBF,sDAAsD;AACtD,SAAS,gBAAgB,CAAC,OAAe;IACvC,yCAAyC;IACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,GAAG,GAAG,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;IACnC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,wCAAwC;AACxC,KAAK,UAAU,WAAW,CAAC,GAAW;IACpC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE;YACP,QAAQ,EAAE,kBAAkB;YAC5B,YAAY,EAAE,kBAAkB;SACjC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,oBAAoB;AACpB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,0BAA0B;AAC1B,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,sGAAsG,EACtG;IACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sEAAsE,CAAC;IACnG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;IAC1G,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;CACvG,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE;IAC3C,IAAI,CAAC;QACH,IAAI,GAAG,GAAG,GAAG,YAAY,IAAI,MAAM,qBAAqB,CAAC;QAEzD,IAAI,WAAW,EAAE,CAAC;YAChB,GAAG,IAAI,gBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;QACzD,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,GAAG,IAAI,cAAc,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAiB,CAAC;QAEpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,uCAAuC,MAAM,yBAAyB;qBAC7E,CAAC;aACH,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG;YACb,KAAK,EAAE;gBACL,MAAM;gBACN,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,SAAS,MAAM,EAAE;gBAC1C,SAAS,EAAE,SAAS,EAAE,SAAS,IAAI,cAAc;gBACjD,aAAa,EAAE,SAAS,EAAE,aAAa,IAAI,cAAc;aAC1D;YACD,cAAc,EAAE,IAAI,CAAC,MAAM;YAC3B,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YAC5B,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI;YACxC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;aAC3B,CAAC,CAAC;SACJ,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtC,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,2BAA2B,MAAM,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACrG,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,0BAA0B;AAC1B,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,mGAAmG,EACnG;IACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACzD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,uDAAuD,CAAC;CACtH,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,GAAG,YAAY,IAAI,MAAM,kBAAkB,UAAU,eAAe,CAAC;QACjF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAiB,CAAC;QAEpD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,uCAAuC,MAAM,GAAG;qBACvD,CAAC;aACH,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG;YACb,KAAK,EAAE;gBACL,MAAM;gBACN,IAAI,EAAE,SAAS,EAAE,IAAI,IAAI,SAAS,MAAM,EAAE;gBAC1C,SAAS,EAAE,SAAS,EAAE,SAAS,IAAI,cAAc;gBACjD,aAAa,EAAE,SAAS,EAAE,aAAa,IAAI,cAAc;aAC1D;YACD,cAAc,EAAE,IAAI,CAAC,MAAM;YAC3B,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;aAC3B,CAAC,CAAC;SACJ,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtC,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,8CAA8C,MAAM,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACxH,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,4BAA4B;AAC5B,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,qHAAqH,EACrH;IACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;CAC1D,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACnB,IAAI,CAAC;QACH,0CAA0C;QAC1C,MAAM,WAAW,GAAG,iDAAiD,MAAM,yBAAyB,CAAC;QAErG,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,CAAmB,CAAC;YAElE,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YAElE,MAAM,MAAM,GAAG;gBACb,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,MAAM;gBACjC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,SAAS,EAAE,IAAI,IAAI,SAAS,MAAM,EAAE;gBAC3D,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,eAAe;gBAC5C,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,SAAS,EAAE,aAAa,IAAI,eAAe;gBACpF,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,yBAAyB;gBAClD,SAAS,EAAE,SAAS,EAAE,SAAS,IAAI,kBAAkB;gBACrD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,KAAK;gBACpC,WAAW,EAAE,GAAG,YAAY,IAAI,MAAM,qBAAqB;gBAC3D,YAAY,EAAE,GAAG,YAAY,IAAI,MAAM,gCAAgC;aACxE,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACtC,CAAC;aACH,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,uFAAuF;YACvF,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YAElE,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG;oBACb,MAAM;oBACN,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,aAAa,EAAE,SAAS,CAAC,aAAa;oBACtC,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,KAAK,EAAE,yBAAyB;oBAChC,WAAW,EAAE,GAAG,YAAY,IAAI,MAAM,qBAAqB;oBAC3D,YAAY,EAAE,GAAG,YAAY,IAAI,MAAM,gCAAgC;oBACvE,UAAU,EAAE,uCAAuC;iBACpD,CAAC;gBAEF,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,wDAAwD;YACxD,MAAM,GAAG,GAAG,GAAG,YAAY,IAAI,MAAM,+BAA+B,CAAC;YACrE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAiB,CAAC;YAEpD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3C,MAAM,MAAM,GAAG;oBACb,MAAM;oBACN,IAAI,EAAE,SAAS,MAAM,EAAE;oBACvB,WAAW,EAAE;wBACX,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;wBAClB,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;qBACjC;oBACD,KAAK,EAAE,yBAAyB;oBAChC,WAAW,EAAE,GAAG,YAAY,IAAI,MAAM,qBAAqB;oBAC3D,UAAU,EAAE,4DAA4D;iBACzE,CAAC;gBAEF,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;yBACtC,CAAC;iBACH,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,wCAAwC,MAAM,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBAClH,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,4BAA4B;AAC5B,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,6IAA6I,EAC7I;IACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gLAAgL,CAAC;CAC5N,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IACtB,IAAI,CAAC;QACH,IAAI,MAAM,GAAG,gBAAgB,CAAC;QAE9B,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzB,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAC5D,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,MAAM,YAAY,GAAkC,EAAE,CAAC;QACvD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACrC,CAAC;YACD,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG;YACb,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM;YAC5C,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY;YACzC,UAAU,EAAE,iFAAiF;SAC9F,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtC,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACzF,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,8BAA8B;AAC9B,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,2GAA2G,EAC3G;IACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CAC1E,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IAClB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAEvC,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC9C,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YACzC,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC/C,CAAC;QAEF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK;4BACL,gBAAgB,EAAE,CAAC;4BACnB,QAAQ,EAAE,kIAAkI;4BAC5I,QAAQ,EAAE,8DAA8D;yBACzE,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;aACH,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG;YACb,KAAK;YACL,gBAAgB,EAAE,WAAW,CAAC,MAAM;YACpC,MAAM,EAAE,WAAW;SACpB,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtC,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACzF,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,6CAA6C;AAC7C,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,yGAAyG,EACzG,EAAE,EACF,KAAK,IAAI,EAAE;IACT,IAAI,CAAC;QACH,MAAM,WAAW,GAAG;YAClB,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE;YACrC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB,EAAE;YACxC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE;YAC5C,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE;YAC5C,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;SAClC,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,GAAG,YAAY,IAAI,GAAG,CAAC,MAAM,+BAA+B,CAAC;gBACzE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,CAAiB,CAAC;gBAEpD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3C,OAAO;wBACL,SAAS,EAAE,GAAG,CAAC,IAAI;wBACnB,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;wBAClB,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;qBACjC,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,SAAS,EAAE,GAAG,CAAC,IAAI;oBACnB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,IAAI,EAAE,uBAAuB;iBAC9B,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,SAAS,EAAE,GAAG,CAAC,IAAI;oBACnB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,IAAI,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB;iBAC/D,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACtC,WAAW,EAAE,UAAU;qBACxB,EAAE,IAAI,EAAE,CAAC,CAAC;iBACZ,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;iBACjG,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC,CACF,CAAC;AAEF,eAAe;AACf,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,56 @@
1
+ {
2
+ "name": "bcb-br-mcp",
3
+ "version": "1.0.0",
4
+ "description": "MCP Server for Brazilian Central Bank Time Series (SGS/BCB) - Economic and Financial Data",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "bcb-br-mcp": "dist/index.js"
9
+ },
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "start": "node dist/index.js",
13
+ "dev": "tsx src/index.ts",
14
+ "prepublishOnly": "npm run build"
15
+ },
16
+ "keywords": [
17
+ "mcp",
18
+ "bcb",
19
+ "banco-central",
20
+ "sgs",
21
+ "series-temporais",
22
+ "economia",
23
+ "selic",
24
+ "ipca",
25
+ "cambio",
26
+ "claude",
27
+ "ai",
28
+ "brazil"
29
+ ],
30
+ "author": "Sidney Bissoli <sbissoli76@gmail.com>",
31
+ "license": "MIT",
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "git+https://github.com/SidneyBissoli/bcb-br-mcp.git"
35
+ },
36
+ "bugs": {
37
+ "url": "https://github.com/SidneyBissoli/bcb-br-mcp/issues"
38
+ },
39
+ "homepage": "https://github.com/SidneyBissoli/bcb-br-mcp#readme",
40
+ "engines": {
41
+ "node": ">=18.0.0"
42
+ },
43
+ "files": [
44
+ "dist",
45
+ "data"
46
+ ],
47
+ "dependencies": {
48
+ "@modelcontextprotocol/sdk": "^1.0.0",
49
+ "zod": "^3.25.0"
50
+ },
51
+ "devDependencies": {
52
+ "@types/node": "^20.0.0",
53
+ "tsx": "^4.0.0",
54
+ "typescript": "^5.0.0"
55
+ }
56
+ }