#!/usr/bin/env python
# encoding: utf-8
#
#  ------------------------------------------------------------------------------
#  Name: portfolio_legal_person_type_maturity.py
#  Version: 0.0.1
#  Summary: Bacen IF.data AutoScraper & Data Manager
#           Este sistema foi projetado para automatizar o download dos
#           relatórios da ferramenta IF.data do Banco Central do Brasil.
#           Criado para facilitar a integração com ferramentas automatizadas de
#           análise e visualização de dados, garantido acesso fácil e oportuno
#           aos dados.
#
#  Author: Alexsander Lopes Camargos
#  Author-email: alcamargos@vivaldi.net
#
#  License: MIT
#  ------------------------------------------------------------------------------

"""
Bacen IF.data AutoScraper & Data Manager

This script is designed to automate the download of reports from the Banco Central do Brasil's
IF.data tool. It facilitates the integration with automated data analysis and visualization tools,
ensuring easy and timely access to data.

Author: Alexsander Lopes Camargos
License: MIT
"""

from typing import Any, Final

from bacen_ifdata.data_transformer.schemas.base_schema import BaseSchema


class FinancialConglomeratePortfolioLegalPersonTypeMaturitySchema(BaseSchema):
    """
    Define e categoriza os nomes das colunas para os relatórios de
    Carteira de Pessoa Jurídica por Tipo e por Prazo de Vencimento de
    conglomerados financeiros, enriquecido com metadados do dicionário de dados.

    Estrutura: 10 colunas de identificação + 1 total carteira +
               (9 tipos de crédito × 8 prazos) + 1 total exterior = 84 colunas
    """

    SCHEMA_DEFINITION: Final[dict[str, dict[str, Any]]] = {
        'instituicao': {
            'description': 'Nome da instituição.',
            'type': 'text',
            'raw_csv_header': 'Instituição',
        },
        'codigo': {
            'description': 'Conglomerado ou CNPJ.',
            'type': 'numeric',
            'raw_csv_header': 'Código',
        },
        'consolidado_bancario': {
            'description': 'Tipo de Consolidado Bancário (B1, B2, B3S, B3C, B4, N1, N2, N4).',
            'type': 'categorical',
            'raw_csv_header': 'TCB',
            'mapping': {
                'b1': (
                    'Instituição individual do tipo Banco Comercial, Banco Múltiplo com Carteira Comercial '
                    'ou caixas econômicas e Conglomerado composto de pelo menos uma instituição do tipo Banco '
                    'Comercial, Banco Múltiplo com Carteira Comercial ou caixas econômicas.'
                ),
                'b2': (
                    'Instituição individual do tipo Banco Múltiplo sem Carteira Comercial ou Banco de Câmbio '
                    'ou Banco de Investimento e Conglomerado composto de pelo menos uma instituição do tipo '
                    'Banco Múltiplo sem Carteira Comercial ou Banco de Investimento, mas sem conter instituições '
                    'do tipo Banco Comercial e Banco Múltiplo com Carteira Comercial.'
                ),
                'b3s': 'Cooperativa de Crédito Singular.',
                'b3c': 'Central e Confederação de Cooperativas de Crédito.',
                'b4': 'Banco de Desenvolvimento',
                'n1': 'Instituição não bancária atuante no mercado de crédito.',
                'n2': 'Instituição não bancária atuante no mercado de capitais.',
                'n4': 'Instituições de pagamento.',
            },
        },
        'tipo_de_consolidacao': {
            'description': 'Tipo de Consolidação (I) identifica uma Instituição Independente e (C) identifica um Conglomerado.',
            'type': 'categorical',
            'raw_csv_header': 'TD',
            'mapping': {
                'i': 'Instituição Independente',
                'c': 'Conglomerado',
            },
        },
        'tipo_de_controle': {
            'description': 'Tipo de Controle.',
            'type': 'categorical',
            'raw_csv_header': 'TC',
            'mapping': {'1': 'Público', '2': 'Privado Nacional', '3': 'Controle Estrangeiro'},
        },
        'segmento_resolucao': {
            'description': 'Segmento conforme Resolução n.º 4.553/2017 (S1, S2, S3, S4, S5).',
            'type': 'categorical',
            'raw_csv_header': 'SR',
            'mapping': {
                's1': (
                    'Bancos múltiplos, bancos comerciais, bancos de investimento, bancos de câmbio e caixas '
                    'econômicas que (i) tenham porte (Exposição/Produto Interno Bruto) superior a 10%; ou (ii) '
                    'exerçam atividade internacional relevante (ativos no exterior superiores a US$ 10 bilhões).'
                ),
                's2': (
                    'Composto por: (i) bancos múltiplos, bancos comerciais, bancos de investimento, '
                    'bancos de câmbio e caixas econômicas de porte inferior a 10% e igual ou superior '
                    'a 1%; e (ii) demais instituições autorizadas a funcionar pelo Banco Central do '
                    'Brasil de porte igual ou superior a 1% do PIB.'
                ),
                's3': 'Instituições de porte inferior a 1% e igual ou superior a 0,1%.',
                's4': 'Instituições de porte inferior a 0,1%.',
                's5': (
                    'Composto por: (i) instituições de porte inferior a 0,1% que utilizem metodologia '
                    'facultativa simplificada para apuração dos requerimentos mínimos de Patrimônio '
                    'de Referência (PR), de Nível I e de Capital Principal, exceto bancos múltiplos, '
                    'bancos comerciais, bancos de investimento, bancos de câmbio e caixas econômicas; '
                    'e (ii) não sujeitas a apuração de PR.'
                ),
            },
        },
        'segmento': {
            'description': 'Segmentos de instituições financeiras.',
            'type': 'categorical',
            'raw_csv_header': 'Segmento',
            'mapping': {
                '2': 'Banco Comercial',
                '4': 'BNDES',
                '5': 'Banco de Desenvolvimento',
                '6': 'Caixa Econômica Federal',
                '7': 'Caixa Econômica Estadual',
                '8': 'Banco Múltiplo',
                '9': 'Cooperativa de Crédito',
                '10': 'Sociedade de Crédito ao Microempreendedor',
                '11': 'Banco Múltiplo Cooperativo',
                '13': 'Banco de Investimento',
                '14': 'Sociedade de Crédito, Financiamento e Investimento',
                '15': 'Sociedade Corretora de TVM',
                '16': 'Sociedade Distribuidora de TVM',
                '19': 'Sociedade de Arrendamento Mercantil',
                '21': 'Sociedade Corretora de Câmbio',
                '25': 'Associação de Poupança e Empréstimo',
                '28': 'Banco Comercial Estrangeiro - Filial no país',
                '29': 'Companhia Hipotecária',
                '30': 'Agência de Fomento',
                '31': 'Sociedade de Crédito Imobiliário - Repassadora',
                '39': 'Banco de Câmbio',
                '41': 'Instituições de Pagamento',
                '43': 'Sociedades de Crédito Direto',
                '44': 'Sociedades de Empréstimo entre Pessoas',
                '196': 'Conglomerado de Mercado de Capitais',
                '197': 'Conglomerado Não-Bancário de Crédito',
                '198': 'Conglomerado - Bancário II',
                '199': 'Conglomerado - Bancário I',
            },
        },
        'cidade': {'description': 'Cidade da sede da instituição.', 'type': 'text', 'raw_csv_header': 'Cidade'},
        'uf': {
            'description': 'Unidade da Federação onde fica a sede da instituição.',
            'type': 'categorical',
            'raw_csv_header': 'UF',
        },
        'regiao': {'description': 'Região geográfica onde fica a sede da instituição.', 'type': 'categorical'},
        'data_base': {'description': 'Data-base do relatório.', 'type': 'date', 'raw_csv_header': 'Data'},
        # TOTAL DA CARTEIRA
        'total_carteira_pessoa_juridica': {
            'description': (
                'Volume de crédito disponibilizado a pessoas jurídicas por instituições financeiras, '
                'excluindo carteiras adquiridas em cessão de crédito com retenção de risco por outra '
                'instituição financeira.'
            ),
            'type': 'numeric',
            'raw_csv_header': 'Total da Carteira de Pessoa Jurídica',
        },
        # 1. CAPITAL DE GIRO
        'capital_giro_vencido_a_partir_15_dias': {
            'description': 'Capital de Giro - Operações vencidas há, no mínimo, 15 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Capital de Giro',
        },
        'capital_giro_a_vencer_ate_90_dias': {
            'description': 'Capital de Giro - Operações a vencer em até 90 dias ou vencidas há, no máximo, 14 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Capital de Giro - A Vencer em até 90 Dias',
        },
        'capital_giro_a_vencer_91_a_360_dias': {
            'description': 'Capital de Giro - Operações a vencer entre 91 a 360 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Capital de Giro - A Vencer Entre 91 a 360 Dias',
        },
        'capital_giro_a_vencer_361_a_1080_dias': {
            'description': 'Capital de Giro - Operações a vencer entre 361 a 1080 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Capital de Giro - A Vencer Entre 361 a 1080 Dias',
        },
        'capital_giro_a_vencer_1081_a_1800_dias': {
            'description': 'Capital de Giro - Operações a vencer entre 1081 a 1800 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Capital de Giro - A Vencer Entre 1081 a 1800 Dias',
        },
        'capital_giro_a_vencer_1801_a_5400_dias': {
            'description': 'Capital de Giro - Operações a vencer entre 1801 a 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Capital de Giro - A Vencer Entre 1801 a 5400 Dias',
        },
        'capital_giro_a_vencer_acima_5400_dias': {
            'description': 'Capital de Giro - Operações a vencer acima de 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Capital de Giro - A vencer Acima de 5400 Dias',
        },
        'capital_giro_total': {
            'description': 'Capital de Giro - Total do grupo.',
            'type': 'numeric',
            'raw_csv_header': 'Capital de Giro - Total',
        },
        # 2. INVESTIMENTO
        'investimento_vencido_a_partir_15_dias': {
            'description': 'Investimento - Operações vencidas há, no mínimo, 15 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Investimento',
        },
        'investimento_a_vencer_ate_90_dias': {
            'description': 'Investimento - Operações a vencer em até 90 dias ou vencidas há, no máximo, 14 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Investimento - A Vencer em até 90 Dias',
        },
        'investimento_a_vencer_91_a_360_dias': {
            'description': 'Investimento - Operações a vencer entre 91 a 360 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Investimento - A Vencer Entre 91 a 360 Dias',
        },
        'investimento_a_vencer_361_a_1080_dias': {
            'description': 'Investimento - Operações a vencer entre 361 a 1080 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Investimento - A Vencer Entre 361 a 1080 Dias',
        },
        'investimento_a_vencer_1081_a_1800_dias': {
            'description': 'Investimento - Operações a vencer entre 1081 a 1800 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Investimento - A Vencer Entre 1081 a 1800 Dias',
        },
        'investimento_a_vencer_1801_a_5400_dias': {
            'description': 'Investimento - Operações a vencer entre 1801 a 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Investimento - A Vencer Entre 1801 a 5400 Dias',
        },
        'investimento_a_vencer_acima_5400_dias': {
            'description': 'Investimento - Operações a vencer acima de 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Investimento - A vencer Acima de 5400 Dias',
        },
        'investimento_total': {
            'description': 'Investimento - Total do grupo.',
            'type': 'numeric',
            'raw_csv_header': 'Investimento - Total',
        },
        # 3. CHEQUE ESPECIAL E CONTA GARANTIDA
        'cheque_especial_conta_garantida_vencido_a_partir_15_dias': {
            'description': 'Cheque Especial e Conta Garantida - Operações vencidas há, no mínimo, 15 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Cheque Especial e Conta Garantida',
        },
        'cheque_especial_conta_garantida_a_vencer_ate_90_dias': {
            'description': 'Cheque Especial e Conta Garantida - Operações a vencer em até 90 dias ou vencidas há, no máximo, 14 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Cheque Especial e Conta Garantida - A Vencer em até 90 Dias',
        },
        'cheque_especial_conta_garantida_a_vencer_91_a_360_dias': {
            'description': 'Cheque Especial e Conta Garantida - Operações a vencer entre 91 a 360 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Cheque Especial e Conta Garantida - A Vencer Entre 91 a 360 Dias',
        },
        'cheque_especial_conta_garantida_a_vencer_361_a_1080_dias': {
            'description': 'Cheque Especial e Conta Garantida - Operações a vencer entre 361 a 1080 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Cheque Especial e Conta Garantida - A Vencer Entre 361 a 1080 Dias',
        },
        'cheque_especial_conta_garantida_a_vencer_1081_a_1800_dias': {
            'description': 'Cheque Especial e Conta Garantida - Operações a vencer entre 1081 a 1800 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Cheque Especial e Conta Garantida - A Vencer Entre 1081 a 1800 Dias',
        },
        'cheque_especial_conta_garantida_a_vencer_1801_a_5400_dias': {
            'description': 'Cheque Especial e Conta Garantida - Operações a vencer entre 1801 a 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Cheque Especial e Conta Garantida - A Vencer Entre 1801 a 5400 Dias',
        },
        'cheque_especial_conta_garantida_a_vencer_acima_5400_dias': {
            'description': 'Cheque Especial e Conta Garantida - Operações a vencer acima de 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Cheque Especial e Conta Garantida - A vencer Acima de 5400 Dias',
        },
        'cheque_especial_conta_garantida_total': {
            'description': 'Cheque Especial e Conta Garantida - Total do grupo.',
            'type': 'numeric',
            'raw_csv_header': 'Cheque Especial e Conta Garantida - Total',
        },
        # 4. OPERAÇÕES COM RECEBÍVEIS
        'operacoes_recebiveis_vencido_a_partir_15_dias': {
            'description': 'Operações com Recebíveis - Operações vencidas há, no mínimo, 15 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Operações com Recebíveis',
        },
        'operacoes_recebiveis_a_vencer_ate_90_dias': {
            'description': 'Operações com Recebíveis - Operações a vencer em até 90 dias ou vencidas há, no máximo, 14 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Operações com Recebíveis - A Vencer em até 90 Dias',
        },
        'operacoes_recebiveis_a_vencer_91_a_360_dias': {
            'description': 'Operações com Recebíveis - Operações a vencer entre 91 a 360 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Operações com Recebíveis - A Vencer Entre 91 a 360 Dias',
        },
        'operacoes_recebiveis_a_vencer_361_a_1080_dias': {
            'description': 'Operações com Recebíveis - Operações a vencer entre 361 a 1080 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Operações com Recebíveis - A Vencer Entre 361 a 1080 Dias',
        },
        'operacoes_recebiveis_a_vencer_1081_a_1800_dias': {
            'description': 'Operações com Recebíveis - Operações a vencer entre 1081 a 1800 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Operações com Recebíveis - A Vencer Entre 1081 a 1800 Dias',
        },
        'operacoes_recebiveis_a_vencer_1801_a_5400_dias': {
            'description': 'Operações com Recebíveis - Operações a vencer entre 1801 a 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Operações com Recebíveis - A Vencer Entre 1801 a 5400 Dias',
        },
        'operacoes_recebiveis_a_vencer_acima_5400_dias': {
            'description': 'Operações com Recebíveis - Operações a vencer acima de 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Operações com Recebíveis - A vencer Acima de 5400 Dias',
        },
        'operacoes_recebiveis_total': {
            'description': 'Operações com Recebíveis - Total do grupo.',
            'type': 'numeric',
            'raw_csv_header': 'Operações com Recebíveis - Total',
        },
        # 5. COMÉRCIO EXTERIOR
        'comercio_exterior_vencido_a_partir_15_dias': {
            'description': 'Comércio Exterior - Operações vencidas há, no mínimo, 15 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Comércio Exterior',
        },
        'comercio_exterior_a_vencer_ate_90_dias': {
            'description': 'Comércio Exterior - Operações a vencer em até 90 dias ou vencidas há, no máximo, 14 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Comércio Exterior - A Vencer em até 90 Dias',
        },
        'comercio_exterior_a_vencer_91_a_360_dias': {
            'description': 'Comércio Exterior - Operações a vencer entre 91 a 360 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Comércio Exterior - A Vencer Entre 91 a 360 Dias',
        },
        'comercio_exterior_a_vencer_361_a_1080_dias': {
            'description': 'Comércio Exterior - Operações a vencer entre 361 a 1080 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Comércio Exterior - A Vencer Entre 361 a 1080 Dias',
        },
        'comercio_exterior_a_vencer_1081_a_1800_dias': {
            'description': 'Comércio Exterior - Operações a vencer entre 1081 a 1800 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Comércio Exterior - A Vencer Entre 1081 a 1800 Dias',
        },
        'comercio_exterior_a_vencer_1801_a_5400_dias': {
            'description': 'Comércio Exterior - Operações a vencer entre 1801 a 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Comércio Exterior - A Vencer Entre 1801 a 5400 Dias',
        },
        'comercio_exterior_a_vencer_acima_5400_dias': {
            'description': 'Comércio Exterior - Operações a vencer acima de 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Comércio Exterior - A vencer Acima de 5400 Dias',
        },
        'comercio_exterior_total': {
            'description': 'Comércio Exterior - Total do grupo.',
            'type': 'numeric',
            'raw_csv_header': 'Comércio Exterior - Total',
        },
        # 6. OUTROS CRÉDITOS
        'outros_creditos_vencido_a_partir_15_dias': {
            'description': 'Outros Créditos - Operações vencidas há, no mínimo, 15 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Outros Créditos',
        },
        'outros_creditos_a_vencer_ate_90_dias': {
            'description': 'Outros Créditos - Operações a vencer em até 90 dias ou vencidas há, no máximo, 14 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Outros Créditos - A Vencer em até 90 Dias',
        },
        'outros_creditos_a_vencer_91_a_360_dias': {
            'description': 'Outros Créditos - Operações a vencer entre 91 a 360 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Outros Créditos - A Vencer Entre 91 a 360 Dias',
        },
        'outros_creditos_a_vencer_361_a_1080_dias': {
            'description': 'Outros Créditos - Operações a vencer entre 361 a 1080 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Outros Créditos - A Vencer Entre 361 a 1080 Dias',
        },
        'outros_creditos_a_vencer_1081_a_1800_dias': {
            'description': 'Outros Créditos - Operações a vencer entre 1081 a 1800 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Outros Créditos - A Vencer Entre 1081 a 1800 Dias',
        },
        'outros_creditos_a_vencer_1801_a_5400_dias': {
            'description': 'Outros Créditos - Operações a vencer entre 1801 a 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Outros Créditos - A Vencer Entre 1801 a 5400 Dias',
        },
        'outros_creditos_a_vencer_acima_5400_dias': {
            'description': 'Outros Créditos - Operações a vencer acima de 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Outros Créditos - A vencer Acima de 5400 Dias',
        },
        'outros_creditos_total': {
            'description': 'Outros Créditos - Total do grupo.',
            'type': 'numeric',
            'raw_csv_header': 'Outros Créditos - Total',
        },
        # 7. FINANCIAMENTO DE INFRAESTRUTURA/DESENVOLVIMENTO/PROJETO
        'financiamento_infraestrutura_vencido_a_partir_15_dias': {
            'description': 'Financiamento de Infraestrutura/Desenvolvimento/Projeto - Operações vencidas há, no mínimo, 15 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Financiamento de Infraestrutura/Desenvolvimento/Projeto e Outros Créditos',
        },
        'financiamento_infraestrutura_a_vencer_ate_90_dias': {
            'description': 'Financiamento de Infraestrutura/Desenvolvimento/Projeto - Operações a vencer em até 90 dias ou vencidas há, no máximo, 14 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Financiamento de Infraestrutura/Desenvolvimento/Projeto e Outros Créditos - A Vencer em até 90 Dias',
        },
        'financiamento_infraestrutura_a_vencer_91_a_360_dias': {
            'description': 'Financiamento de Infraestrutura/Desenvolvimento/Projeto - Operações a vencer entre 91 a 360 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Financiamento de Infraestrutura/Desenvolvimento/Projeto e Outros Créditos - A Vencer Entre 91 a 360 Dias',
        },
        'financiamento_infraestrutura_a_vencer_361_a_1080_dias': {
            'description': 'Financiamento de Infraestrutura/Desenvolvimento/Projeto - Operações a vencer entre 361 a 1080 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Financiamento de Infraestrutura/Desenvolvimento/Projeto e Outros Créditos - A Vencer Entre 361 a 1080 Dias',
        },
        'financiamento_infraestrutura_a_vencer_1081_a_1800_dias': {
            'description': 'Financiamento de Infraestrutura/Desenvolvimento/Projeto - Operações a vencer entre 1081 a 1800 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Financiamento de Infraestrutura/Desenvolvimento/Projeto e Outros Créditos - A Vencer Entre 1081 a 1800 Dias',
        },
        'financiamento_infraestrutura_a_vencer_1801_a_5400_dias': {
            'description': 'Financiamento de Infraestrutura/Desenvolvimento/Projeto - Operações a vencer entre 1801 a 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Financiamento de Infraestrutura/Desenvolvimento/Projeto e Outros Créditos - A Vencer Entre 1801 a 5400 Dias',
        },
        'financiamento_infraestrutura_a_vencer_acima_5400_dias': {
            'description': 'Financiamento de Infraestrutura/Desenvolvimento/Projeto - Operações a vencer acima de 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Financiamento de Infraestrutura/Desenvolvimento/Projeto e Outros Créditos - A vencer Acima de 5400 Dias',
        },
        'financiamento_infraestrutura_total': {
            'description': 'Financiamento de Infraestrutura/Desenvolvimento/Projeto - Total do grupo.',
            'type': 'numeric',
            'raw_csv_header': 'Financiamento de Infraestrutura/Desenvolvimento/Projeto e Outros Créditos - Total',
        },
        # 8. RURAL E AGROINDUSTRIAL
        'rural_agroindustrial_vencido_a_partir_15_dias': {
            'description': 'Rural e Agroindustrial - Operações vencidas há, no mínimo, 15 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Rural e Agroindustrial',
        },
        'rural_agroindustrial_a_vencer_ate_90_dias': {
            'description': 'Rural e Agroindustrial - Operações a vencer em até 90 dias ou vencidas há, no máximo, 14 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Rural e Agroindustrial - A Vencer em até 90 Dias',
        },
        'rural_agroindustrial_a_vencer_91_a_360_dias': {
            'description': 'Rural e Agroindustrial - Operações a vencer entre 91 a 360 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Rural e Agroindustrial - A Vencer Entre 91 a 360 Dias',
        },
        'rural_agroindustrial_a_vencer_361_a_1080_dias': {
            'description': 'Rural e Agroindustrial - Operações a vencer entre 361 a 1080 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Rural e Agroindustrial - A Vencer Entre 361 a 1080 Dias',
        },
        'rural_agroindustrial_a_vencer_1081_a_1800_dias': {
            'description': 'Rural e Agroindustrial - Operações a vencer entre 1081 a 1800 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Rural e Agroindustrial - A Vencer Entre 1081 a 1800 Dias',
        },
        'rural_agroindustrial_a_vencer_1801_a_5400_dias': {
            'description': 'Rural e Agroindustrial - Operações a vencer entre 1801 a 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Rural e Agroindustrial - A Vencer Entre 1801 a 5400 Dias',
        },
        'rural_agroindustrial_a_vencer_acima_5400_dias': {
            'description': 'Rural e Agroindustrial - Operações a vencer acima de 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Rural e Agroindustrial - A vencer Acima de 5400 Dias',
        },
        'rural_agroindustrial_total': {
            'description': 'Rural e Agroindustrial - Total do grupo.',
            'type': 'numeric',
            'raw_csv_header': 'Rural e Agroindustrial - Total',
        },
        # 9. HABITACIONAL
        'habitacional_vencido_a_partir_15_dias': {
            'description': 'Habitacional - Operações vencidas há, no mínimo, 15 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Habitacional',
        },
        'habitacional_a_vencer_ate_90_dias': {
            'description': 'Habitacional - Operações a vencer em até 90 dias ou vencidas há, no máximo, 14 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Habitacional - A Vencer em até 90 Dias',
        },
        'habitacional_a_vencer_91_a_360_dias': {
            'description': 'Habitacional - Operações a vencer entre 91 a 360 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Habitacional - A Vencer Entre 91 a 360 Dias',
        },
        'habitacional_a_vencer_361_a_1080_dias': {
            'description': 'Habitacional - Operações a vencer entre 361 a 1080 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Habitacional - A Vencer Entre 361 a 1080 Dias',
        },
        'habitacional_a_vencer_1081_a_1800_dias': {
            'description': 'Habitacional - Operações a vencer entre 1081 a 1800 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Habitacional - A Vencer Entre 1081 a 1800 Dias',
        },
        'habitacional_a_vencer_1801_a_5400_dias': {
            'description': 'Habitacional - Operações a vencer entre 1801 a 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Habitacional - A Vencer Entre 1801 a 5400 Dias',
        },
        'habitacional_a_vencer_acima_5400_dias': {
            'description': 'Habitacional - Operações a vencer acima de 5400 dias.',
            'type': 'numeric',
            'raw_csv_header': 'Habitacional - A vencer Acima de 5400 Dias',
        },
        'habitacional_total': {
            'description': 'Habitacional - Total do grupo.',
            'type': 'numeric',
            'raw_csv_header': 'Habitacional - Total',
        },
        # TOTAL EXTERIOR
        'total_exterior_pessoa_juridica': {
            'description': (
                'Volume das operações de crédito realizadas por IFs brasileiras no exterior para pessoas jurídicas.'
            ),
            'type': 'numeric',
            'raw_csv_header': 'Total Exterior Pessoa Jurídica',
        },
    }
