pub const APP_NAME: &str = "Amortization Functions (AmFn)";
pub const APP_VERSION: Option<&'static str> = option_env!("CARGO_PKG_VERSION");
pub const DEFAULT_ENCODING: &str = "utf-8";
pub const DEFAULT_DAYS_IN_YEAR: usize = 360;
pub const DEFAULT_FISCAL_YEAR_START: usize = 101; pub const SERIAL_BASE_YEAR: usize = 1900;
pub const SERIAL_BASE_CENTURY: usize = 73;
pub const DEFAULT_DECIMAL_DIGITS: usize = 2;
pub const DEFAULT_ROUND_BALANCE: bool = false;
pub const DEFAULT_COMBINE_PRINCIPAL: bool = true;
pub const DEFAULT_COMPRESS_DESCRIPTOR: bool = false;
pub const DEFAULT_OMIT_STATISTIC_EVENTS: bool = true;
pub const DEFAULT_TEMPLATE_COLUMNS: &str =
"Type~65|Date~50|Date-expr~30|Sort~30|Value~70|Value-expr~30|Periods~50|Periods-expr~30|Frequency~60|Intervals~50|End-date~50|Skip-periods~50|Parameter-list~40|Descriptor-list~40|Event-name~60|Next-name~60";
pub const DEFAULT_EVENT_COLUMNS: &str =
"Type~65|Date~50|Value~70|Periods~50|Frequency~60|Intervals~50|End-date~50|Skip-periods~50|Parameter-list~40";
pub const DEFAULT_AM_COLUMNS: &str =
"Sequence~30|Type~65|Date~50||Decrease~70|Increase~70|Periods~50|Interest~70||Value-to-interest~70|Value-to-principal~70|Balance~70|Accrued-balance~70|Frequency~60|Intervals~50|Parameter-list~40";
pub const DEFAULT_SORT_PRINCIPAL_CHANGE: usize = 10;
pub const DEFAULT_SORT_CURRENT_VALUE_CHANGE: usize = 20;
pub const DEFAULT_SORT_STATISTIC_VALUE_CHANGE: usize = 30;
pub const DEFAULT_SORT_INTEREST_CHANGE: usize = 40;
pub const MAXIMUM_DISPLAY_DECIMAL_DIGITS: usize = 6;
pub const MINIMUM_COLUMN_WIDTH: usize = 20;
pub const MAXIMUM_ITERATIONS_CALCULATE_INTEREST: usize = 30;
pub const MAXIMUM_ITERATIONS_CALCULATE_PERIODS: usize = 30;
pub const MAXIMUM_ITERATIONS_CALCULATE_PRINCIPAL: usize = 30;
pub const MAXIMUM_ITERATIONS_CALCULATE_YIELD: usize = 30;
pub const MAX_CALC_PRINCIPAL: &str = "1000000000000.0";
pub const MAX_CALC_INTEREST: &str = "2000.0";
pub const LOW_ROUND: &str = "0.49999999";
pub const MID_ROUND: &str = "0.5";
pub const HIGH_ROUND: &str = "0.50000001";
pub const COL_LABEL_SEQUENCE: &str = "Col_Label_Sequence";
pub const COL_LABEL_EVENT_TYPE: &str = "Col_Label_Event_Type";
pub const COL_LABEL_DATE: &str = "Col_Label_Date";
pub const COL_LABEL_DATE_EXPR: &str = "Col_Label_Date_Expr";
pub const COL_LABEL_SORT: &str = "Col_Label_Sort";
pub const COL_LABEL_VALUE: &str = "Col_Label_Value";
pub const COL_LABEL_VALUE_EXPR: &str = "Col_Label_Value_Expr";
pub const COL_LABEL_DECREASE: &str = "Col_Label_Decrease";
pub const COL_LABEL_INCREASE: &str = "Col_Label_Increase";
pub const COL_LABEL_PERIODS: &str = "Col_Label_Periods";
pub const COL_LABEL_PERIODS_EXPR: &str = "Col_Label_Periods_Expr";
pub const COL_LABEL_SKIP_PERIODS: &str = "Col_Label_Skip_Periods";
pub const COL_LABEL_INTERVALS: &str = "Col_Label_Intervals";
pub const COL_LABEL_FREQUENCY: &str = "Col_Label_Frequency";
pub const COL_LABEL_END_DATE: &str = "Col_Label_End_Date";
pub const COL_LABEL_PARAMETER_LIST: &str = "Col_Label_Parameter_List";
pub const COL_LABEL_DESCRIPTOR_LIST: &str = "Col_Label_Descriptor_List";
pub const COL_LABEL_INTEREST: &str = "Col_Label_Interest";
pub const COL_LABEL_SL_INTEREST: &str = "Col_Label_SL_Interest";
pub const COL_LABEL_INT_ON_INTEREST: &str = "Col_Label_Int_On_Interest";
pub const COL_LABEL_VALUE_TO_INTEREST: &str = "Col_Label_Value_To_Interest";
pub const COL_LABEL_VALUE_TO_PRINCIPAL: &str = "Col_Label_Value_To_Principal";
pub const COL_LABEL_ACCRUED_BALANCE: &str = "Col_Label_Accrued_Balance";
pub const COL_LABEL_BALANCE: &str = "Col_Label_Balance";
pub const COL_LABEL_EVENT_NAME: &str = "Col_Label_Event_Name";
pub const COL_LABEL_NEXT_NAME: &str = "Col_Label_Next_Name";
pub const COL_LABEL_STRBAL: usize = 1000;
pub const COL_LABEL_EAR: usize = 1001;
pub const COL_LABEL_PR: usize = 1002;
pub const COL_LABEL_DR: usize = 1003;
pub const GROUP_GENERAL: &str = "General";
pub const GROUP_COLHEADER: &str = "ColHeader";
pub const GROUP_COLVALUE: &str = "ColValue";
pub const GROUP_TEMPLATE: &str = "Template";
pub const GROUP_EVENT: &str = "Event";
pub const GROUP_AM: &str = "Amortization";
pub const GROUP_SUMMARY: &str = "Summary";
pub const GROUP_PRINCIPAL_CHANGE: &str = "PrinChange";
pub const GROUP_CURRENT_VALUE: &str = "CurValue";
pub const GROUP_STATISTIC_VALUE: &str = "StatValue";
pub const GROUP_INTEREST_CHANGE: &str = "IntChange";
pub const NAME_COLUMNS: &str = "Columns";
pub const NAME_EVENT_TYPE: &str = "EventType";
pub const NAME_STATUS: &str = "Status";
pub const NAME_SUMMARY: &str = "Summary";
pub const TYPE_LOCALE: &str = "locale";
pub const TYPE_CUSTOM: &str = "custom";
pub const USER_EVENT_TYPE_CURRENT_VALUE: &str = "User_Event_Type_Current_Value";
pub const USER_EVENT_TYPE_INTEREST_CHANGE: &str = "User_Event_Type_Interest_Change";
pub const USER_EVENT_TYPE_PRINCIPAL_CHANGE: &str = "User_Event_Type_Principal_Change";
pub const USER_EVENT_TYPE_STATISTIC_VALUE: &str = "User_Event_Type_Statistic_Value";
pub const USER_NEW: &str = "User_New";
pub const USER_STATUS: &str = "User_Status";
pub const PARAM_DESCRIPTION: &str = "strDescription";
pub const MAPCOLNAMES_EDITABLE: usize = 1;
pub const JSON_SERIALIZE_PREFERENCES: usize = 1;
pub const JSON_SERIALIZE_TEMPLATES: usize = 2;
pub const JSON_SERIALIZE_EXCHANGE_RATES: usize = 4;
pub const JSON_SERIALIZE_CASHFLOW_PREFERENCES: usize = 8;
pub const JSON_SERIALIZE_CASHFLOW_SELECTED: usize = 16;
pub const JSON_SERIALIZE_EVENT_LIST: usize = 32;
pub const JSON_SERIALIZE_AMORTIZATION_LIST: usize = 64;
pub const JSON_SERIALIZE_AMORTIZATION_LIST_ROLLUPS: usize = 128;
pub const JSON_SERIALIZE_AMORTIZATION_LIST_DETAILS: usize = 256;
pub const ERROR_PREFIX: &str = ">> ";
pub const LINE_ENDING: &str = "\n";
pub const DELIMITER_VISIBLE: &str = "|";
pub const TAB_SPACES: usize = 4;