'Created by Charles Hoffman, CPA 6/28/2018 6:35:17 PM 'Reporting Style Code: COMID-BSC-CF1-ISS-IEMIB-OILY-SPEC2A 'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 001-General Information (http://www.xbrlsite.com/2014/Protototype/fac/GeneralInformation) 'General information 'Reviewed 2015-11-13 'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 101-Balance Sheet, Classified (http://www.xbrlsite.com/2014/Protototype/fac/BalanceSheetClassified) 'Balance sheet (Classified) 'Reviewed 2015-11-13 'Determine which statements are used IsClassifiedBalanceSheet = CurrentAssets 'BS-Impute-101: If RedeemableNoncontrollingInterest = 0 Then RedeemableNoncontrollingInterest = RedeemableNoncontrollingInterestCommon + RedeemableNoncontrollingInterestPreferred + RedeemableNoncontrollingInterestOther End If 'BS-Impute-102: If TemporaryEquity = 0 Then TemporaryEquity = TemporaryEquityAttributableToParent + RedeemableNoncontrollingInterest End If 'BS-Impute-103: If Assets = 0 and NoncurrentAssets = 0 and Assets <> LiabilitiesAndEquity and CurrentAssets = LiabilitiesAndEquity Then Assets = CurrentAssets End If 'BS-Impute-104: If Assets = 0 and LiabilitiesAndEquity <> 0 and CurrentAssets = LiabilitiesAndEquity Then Assets = CurrentAssets End If 'BS-Impute-105: If Assets = 0 and NoncurrentAssets = 0 and LiabilitiesAndEquity <> 0 and (LiabilitiesAndEquity = Liabilities + Equity) Then Assets = CurrentAssets End If 'BS-Impute-106: If NoncurrentAssets = 0 and Assets <> 0 and CurrentAssets <> 0 Then NoncurrentAssets = Assets - CurrentAssets End If 'BS-Impute-107: If LiabilitiesAndEquity = 0 and Assets <> 0 Then LiabilitiesAndEquity = Assets End If 'BS-Impute-108: If Equity = 0 and EquityAttributableToNoncontrollingInterest <> 0 and EquityAttributableToParent <> 0 Then Equity = EquityAttributableToParent + EquityAttributableToNoncontrollingInterest End If 'BS-Impute-109: If Equity = 0 and EquityAttributableToNoncontrollingInterest = 0 and EquityAttributableToParent <> 0 Then Equity = EquityAttributableToParent End If 'BS-Impute-110: If Equity = 0 Then Equity = EquityAttributableToParent + EquityAttributableToNoncontrollingInterest End If 'BS-Impute-111: If EquityAttributableToParent = 0 and Equity <> 0 and EquityAttributableToNoncontrollingInterest <> 0 Then EquityAttributableToParent = Equity - EquityAttributableToNoncontrollingInterest End If 'BS-Impute-112: If EquityAttributableToParent = 0 and Equity <> 0 and EquityAttributableToNoncontrollingInterest = 0 Then EquityAttributableToParent = Equity End If 'BS-Impute-113: If NoncurrentLiabilities = 0 and CurrentLiabilities <> 0 and Liabilities <> 0 Then NoncurrentLiabilities = Liabilities - CurrentLiabilities End If 'BS-Impute-114: If Liabilities = 0 and CurrentLiabilities <> 0 and NoncurrentLiabilities <> 0 Then Liabilities = CurrentLiabilities + NoncurrentLiabilities End If 'BS-Impute-115: If Liabilities = 0 and Equity <> 0 Then Liabilities = LiabilitiesAndEquity - (CommitmentsAndContingencies + TemporaryEquity + Equity) End If 'BS-Impute-116: (Run a SECOND TIME in case total liabilities was not yet known) If NoncurrentLiabilities = 0 and CurrentLiabilities <> 0 and Liabilities <> 0 Then NoncurrentLiabilities = Liabilities - CurrentLiabilities End If 'BS-Impute-117: If Liabilities = 0 and CurrentLiabilities <> 0 and NoncurrentLiabilities = 0 Then Liabilities = CurrentLiabilities End If 'BS-Impute-118: If EquityAttributableToParent <> 0 and Equity <> 0 and EquityAttributableToNoncontrollingInterest <> 0 and EquityAttributableToParent = Equity Then EquityAttributableToParent = Equity - EquityAttributableToNoncontrollingInterest End If 'BS-Impute-119: If CurrentLiabilities = 0 and NoncurrentLiabilities = 0 and Liabilities <> 0 Then CurrentLiabilities = Liabilities End If 'BS-Impute-120: If EquityAttributableToNoncontrollingInterest = 0 and Equity <> 0 and EquityAttributableToParent <> 0 Then EquityAttributableToNoncontrollingInterest = Equity - EquityAttributableToParent End If 'BS-Impute-121: If CurrentAssets = 0 and Assets <> 0 and LiabilitiesAndEquity <> 0 and LiabilitiesAndEquity = Assets Then CurrentAssets = Assets End If 'BS-Impute-122: If TemporaryEquity = 0 and Liabilities <> 0 and Equity <> 0 and LiabilitiesAndEquity <> 0 and Liabilities = (CurrentLiabilities + NoncurrentLiabilities) and Equity = (EquityAttributableToParent + EquityAttributableToNoncontrollingInterest) Then TemporaryEquity = LiabilitiesAndEquity - ((Liabilities + Equity) - CommitmentsAndContingencies) End If '****************************************************** 'VERIFICATION RULES: Balance Sheet relations BS1 = Equity - (EquityAttributableToParent + EquityAttributableToNoncontrollingInterest) BS2 = Assets - LiabilitiesAndEquity BS3 = Assets - (CurrentAssets + NoncurrentAssets) BS4 = Liabilities - (CurrentLiabilities + NoncurrentLiabilities) BS5 = LiabilitiesAndEquity - (Liabilities + CommitmentsAndContingencies + TemporaryEquity + Equity) 'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 201.6b-Income Statement, Single Step, With Operating Income, Special 2A (Costs and Expenses, with Other Operating Income (Loss)) (http://www.xbrlsite.com/2014/Protototype/fac/IncomeStatementSingleStep_Special2A) 'Income statement - Single-Step, With Operating income (loss), with Operating Income (Loss) reported 'Same as Special 1A, except that CostsAndExpenses is used rather than OperatingExpenses 'Only works if Revenues, CostsAndExpenses, and OperatingIncomeLoss are explicitly reported 'Reviewed 2015-12-24 'IS-Impute-00: ADDED 2016-03-10 (Changed basic relations of preferred dividends and distributed and undistributed earnings) If ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic = 0 Then ParticipatingSecuritiesDistributedAndUndistributedEarningsLossBasic = PreferredStockDividendsAndOtherAdjustments + UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasic End If 'IS-Impute-00: ADDED 2016-02-27 (No income from discontinued operations total provided, but detailed line items likely provided) If IncomeLossFromDiscontinuedOperationsNetOfTax = 0 Then IncomeLossFromDiscontinuedOperationsNetOfTax = IncomeLossFromDiscontinuedOperationsNetOfTaxDuringPhaseOut + IncomeLossFromDiscontinuedOperationsNetOfTaxGainLossOnDisposal + IncomeLossFromDiscontinuedOperationsNetOfTaxProvisionForGainLossOnDisposal + IncomeLossFromDiscontinuedOperationsNetOfTaxAdjustmentToPriorYearGainLossOnDisposal End If If NetIncomeLossAttributableToNoncontrollingInterest = 0 Then NetIncomeLossAttributableToNoncontrollingInterest = NetIncomeLossAttributableToNonredeemableNoncontrollingInterest + NetIncomeLossAttributableToRedeemableNoncontrollingInterest End If 'IS-Impute-21: If CostsAndExpenses = 0 and Revenues <> 0 and OperatingIncomeLoss <> 0 Then CostsAndExpenses = Revenues - OperatingIncomeLoss End If 'IS-Impute-21: If Revenues = 0 and CostsAndExpenses <> 0 and OperatingIncomeLoss <> 0 Then Revenues = CostsAndExpenses + OperatingIncomeLoss End If 'IS-Impute-XX: If OtherOperatingIncomeExpenses = 0 and Revenues <> 0 and CostsAndExpenses <> 0 and OperatingIncomeLoss <> 0 Then OtherOperatingIncomeExpenses = OperatingIncomeLoss - (Revenues - CostsAndExpenses) End If 'IS-Impute-00: (Fix taxes, 2015-07-06) If IncomeTaxExpenseBenefit = 0 and (IncomeTaxExpenseBenefitCurrent <> 0 or IncomeTaxExpenseBenefitDeferred <> 0) Then IncomeTaxExpenseBenefit = IncomeTaxExpenseBenefitCurrent + IncomeTaxExpenseBenefitDeferred End If 'NEW-54: 2015-11-25 If IncomeLossFromContinuingOperationsAfterTax = 0 and IncomeLossFromContinuingOperationsBeforeTax <> 0 Then IncomeLossFromContinuingOperationsAfterTax = IncomeLossFromContinuingOperationsBeforeTax - IncomeTaxExpenseBenefit End If 'NEW-54: 2015-11-25 If NetIncomeLoss = 0 and IncomeLossFromContinuingOperationsAfterTax <> 0 Then NetIncomeLoss = IncomeLossFromContinuingOperationsAfterTax + IncomeLossFromDiscontinuedOperationsNetOfTax + ExtraordinaryItemsOfIncomeExpenseNetOfTax End If 'NEW-99: Added 2015-11-18 If NetIncomeLossAttributableToParent = 0 and NetIncomeLoss <> 0 and NetIncomeLossAttributableToNoncontrollingInterest <> 0 Then NetIncomeLossAttributableToParent = NetIncomeLoss - NetIncomeLossAttributableToNoncontrollingInterest End If 'NEW-01: Start from bottom, work up for net income steps (This might not be a good idea) If NetIncomeLossAttributableToParent = 0 and NetIncomeLossAvailableToCommonStockholdersBasic <> 0 and PreferredStockDividendsAndOtherAdjustments = 0 Then NetIncomeLossAttributableToParent = NetIncomeLossAvailableToCommonStockholdersBasic End If 'NEW-02: If NetIncomeLoss = 0 and NetIncomeLossAttributableToNoncontrollingInterest = 0 and NetIncomeLossAttributableToParent <> 0 Then NetIncomeLoss = NetIncomeLossAttributableToParent End If 'NEW-03: If NetIncomeLossAvailableToCommonStockholdersBasic = 0 and PreferredStockDividendsAndOtherAdjustments = 0 and NetIncomeLossAttributableToParent <> 0 Then NetIncomeLossAvailableToCommonStockholdersBasic = NetIncomeLossAttributableToParent End If 'NEW-04: If IncomeLossFromContinuingOperationsAfterTax = 0 and NetIncomeLoss <> 0 and IncomeLossFromDiscontinuedOperationsNetOfTax = 0 and ExtraordinaryItemsOfIncomeExpenseNetOfTax = 0 Then IncomeLossFromContinuingOperationsAfterTax = NetIncomeLoss End If 'NEW-05: If IncomeLossFromContinuingOperationsBeforeTax = 0 and IncomeLossFromContinuingOperationsAfterTax <> 0 and IncomeTaxExpenseBenefit = 0 Then IncomeLossFromContinuingOperationsBeforeTax = IncomeLossFromContinuingOperationsAfterTax End If 'IS-Impute-01: If NetIncomeLoss = 0 and NetIncomeLossAttributableToParent <> 0 and NetIncomeLossAttributableToNoncontrollingInterest <> 0 Then NetIncomeLoss = NetIncomeLossAttributableToParent + NetIncomeLossAttributableToNoncontrollingInterest End If 'IS-Impute-02: If NetIncomeLossAttributableToParent = 0 and NetIncomeLossAttributableToNoncontrollingInterest <> 0 and NetIncomeLoss <> 0 Then NetIncomeLossAttributableToParent = NetIncomeLoss - NetIncomeLossAttributableToNoncontrollingInterest End If 'IS-Impute-03: If NetIncomeLossAvailableToCommonStockholdersBasic = 0 and PreferredStockDividendsAndOtherAdjustments <> 0 and NetIncomeLossAttributableToParent <> 0 Then NetIncomeLossAvailableToCommonStockholdersBasic = NetIncomeLossAttributableToParent - PreferredStockDividendsAndOtherAdjustments End If 'IS-Impute-04: If NetIncomeLossAttributableToParent = 0 and NetIncomeLossAttributableToNoncontrollingInterest = 0 and NetIncomeLoss <> 0 Then NetIncomeLossAttributableToParent = NetIncomeLoss End If 'IS-Impute-05: If PreferredStockDividendsAndOtherAdjustments = 0 and NetIncomeLossAttributableToParent <> 0 and NetIncomeLossAvailableToCommonStockholdersBasic <> 0 Then PreferredStockDividendsAndOtherAdjustments = NetIncomeLossAttributableToParent - NetIncomeLossAvailableToCommonStockholdersBasic End If 'IS-Impute-06: If NetIncomeLossAvailableToCommonStockholdersBasic = 0 and PreferredStockDividendsAndOtherAdjustments = 0 and NetIncomeLossAttributableToParent <> 0 Then NetIncomeLossAvailableToCommonStockholdersBasic = NetIncomeLossAttributableToParent End If 'IS-Impute-07: If IncomeLossFromContinuingOperationsAfterTax = 0 and NetIncomeLoss <> 0 Then IncomeLossFromContinuingOperationsAfterTax = NetIncomeLoss - IncomeLossFromDiscontinuedOperationsNetOfTax - ExtraordinaryItemsOfIncomeExpenseNetOfTax End If 'IS-Impute-08: If IncomeLossFromContinuingOperationsAfterTax = 0 and IncomeTaxExpenseBenefit <> 0 and IncomeLossFromContinuingOperationsBeforeTax <> 0 Then IncomeLossFromContinuingOperationsAfterTax = IncomeLossFromContinuingOperationsBeforeTax - IncomeTaxExpenseBenefit End If 'IS-Impute-09: If IncomeLossFromContinuingOperationsBeforeTax = 0 and IncomeLossBeforeEquityMethodInvestments <> 0 and IncomeLossFromEquityMethodInvestments <> 0 Then IncomeLossFromContinuingOperationsBeforeTax = IncomeLossBeforeEquityMethodInvestments + IncomeLossFromEquityMethodInvestments End If 'IS-Impute-10: If IncomeLossFromContinuingOperationsBeforeTax = 0 and IncomeLossFromContinuingOperationsAfterTax <> 0 Then IncomeLossFromContinuingOperationsBeforeTax = IncomeLossFromContinuingOperationsAfterTax + IncomeTaxExpenseBenefit End If 'IS-Impute-11: If IncomeLossBeforeEquityMethodInvestments = 0 and IncomeLossFromContinuingOperationsBeforeTax <> 0 and IncomeLossFromEquityMethodInvestments <> 0 Then IncomeLossBeforeEquityMethodInvestments = IncomeLossFromContinuingOperationsBeforeTax - IncomeLossFromEquityMethodInvestments End If If IncomeLossFromContinuingOperationsBeforeTax <> 0 and OperatingIncomeLoss <> 0 Then NonoperatingIncomePlusInterestAndDebtExpensePlusIncomeFromEquityMethodInvestments = IncomeLossFromContinuingOperationsBeforeTax - OperatingIncomeLoss End If 'IS-Impute-99-1: Added 2015-11-12 (Deals with noncontrolling interests that are made up of multiple line items) If NetIncomeLossAttributableToNoncontrollingInterest = 0 and NetIncomeLoss <> 0 and NetIncomeLossAttributableToParent <> 0 and EquityAttributableToNoncontrollingInterest <> 0 Then NetIncomeLossAttributableToNoncontrollingInterest = NetIncomeLoss - NetIncomeLossAttributableToParent End If 'Determine if income statement is multi-step or single-step IsMultiStepIncomeStatement = GrossProfit 'VERIFICATION RULES: Income statement IS1 = 0 IS2 = OperatingIncomeLoss - (Revenues - CostsAndExpenses + OtherOperatingIncomeExpenses) IS3 = 0 IS4 = IncomeLossFromContinuingOperationsBeforeTax - (OperatingIncomeLoss + NonoperatingIncomePlusInterestAndDebtExpensePlusIncomeFromEquityMethodInvestments) IS5 = IncomeLossFromContinuingOperationsAfterTax - (IncomeLossFromContinuingOperationsBeforeTax - IncomeTaxExpenseBenefit) IS6 = NetIncomeLoss - (IncomeLossFromContinuingOperationsAfterTax + IncomeLossFromDiscontinuedOperationsNetOfTax + ExtraordinaryItemsOfIncomeExpenseNetOfTax) IS7 = NetIncomeLoss - (NetIncomeLossAttributableToParent + NetIncomeLossAttributableToNoncontrollingInterest) IS8 = NetIncomeLossAvailableToCommonStockholdersBasic - (NetIncomeLossAttributableToParent - PreferredStockDividendsAndOtherAdjustments) IS11 = 0 IS12 = 0 IS13 = 0 IS14 = 0 'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 211-Net Income (Loss) Breakdown (http://www.xbrlsite.com/2014/Protototype/fac/NetIncomeLossBreakdown) 'Empty 'Reviewed 2015-11-13 'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 212-Net Income (Loss) Available to Common Breakdown (http://www.xbrlsite.com/2014/Protototype/fac/NetIncomeLossAvailableToCommonBreakdown) 'Empty 'Reviewed 2015-11-13 'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 301-Statement of Comprehensive Income (http://www.xbrlsite.com/2014/Protototype/fac/StatementOfComprehensiveIncome) 'Statement of comprehensive income 'Reviewed 2015-11-13 'IS-Impute-201: If ComprehensiveIncomeLossAttributableToParent = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and ComprehensiveIncomeLoss <> 0 Then ComprehensiveIncomeLossAttributableToParent = ComprehensiveIncomeLoss End If 'IS-Impute-202: If ComprehensiveIncomeLossAttributableToParent = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest <> 0 and ComprehensiveIncomeLoss <> 0 Then ComprehensiveIncomeLossAttributableToParent = ComprehensiveIncomeLoss - ComprehensiveIncomeLossAttributableToNoncontrollingInterest End If 'IS-Impute-203: If ComprehensiveIncomeLoss = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest <> 0 and ComprehensiveIncomeLossAttributableToParent <> 0 Then ComprehensiveIncomeLoss = ComprehensiveIncomeLossAttributableToParent + ComprehensiveIncomeLossAttributableToNoncontrollingInterest End If 'IS-Impute-204: If ComprehensiveIncomeLoss = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and ComprehensiveIncomeLossAttributableToParent <> 0 Then ComprehensiveIncomeLoss = ComprehensiveIncomeLossAttributableToParent End If 'IS-Impute-205: If ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and ComprehensiveIncomeLoss <> 0 and ComprehensiveIncomeLossAttributableToParent <> 0 Then ComprehensiveIncomeLossAttributableToNoncontrollingInterest = ComprehensiveIncomeLoss - ComprehensiveIncomeLossAttributableToParent End If 'IS-Impute-206: If ComprehensiveIncomeLoss = 0 and ComprehensiveIncomeLossAttributableToParent = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and OtherComprehensiveIncomeLoss = 0 Then ComprehensiveIncomeLoss = NetIncomeLoss End If 'IS-Impute-207: If OtherComprehensiveIncomeLoss = 0 and ComprehensiveIncomeLoss <> 0 Then OtherComprehensiveIncomeLoss = ComprehensiveIncomeLoss - NetIncomeLoss End If 'IS-Impute-208: If ComprehensiveIncomeLossAttributableToParent = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and ComprehensiveIncomeLoss <> 0 Then ComprehensiveIncomeLossAttributableToParent = ComprehensiveIncomeLoss End If 'IS-Impute-209: If ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and ComprehensiveIncomeLossAttributableToParent <> 0 and ComprehensiveIncomeLoss <> 0 Then ComprehensiveIncomeLossAttributableToNoncontrollingInterest = ComprehensiveIncomeLoss - ComprehensiveIncomeLossAttributableToParent End If 'VERIFICATION RULES: Statement of comprehensive income IS9 = ComprehensiveIncomeLoss - (ComprehensiveIncomeLossAttributableToParent + ComprehensiveIncomeLossAttributableToNoncontrollingInterest) IS10 = ComprehensiveIncomeLoss - (NetIncomeLoss + OtherComprehensiveIncomeLoss) 'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 311-Comprehensive Income (Loss) Breakdown (http://www.xbrlsite.com/2014/Protototype/fac/ComprehensiveIncomeBreakdown) 'Empty 'Reviewed 2015-11-13 'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 401-Cash Flow Statement (http://www.xbrlsite.com/2014/Protototype/fac/CashFlowStatement) 'Cash flow statement (exchange gains included in net cash flow) 'Reviewed 2015-11-13 'Refactored version 'CF-Impute-101: Added 2015-11-12 If total discontinued is reported but detail is not, assume total is operating If NetCashFlowFromOperatingActivitiesDiscontinued = 0 and NetCashFlowFromInvestingActivitiesDiscontinued = 0 and NetCashFlowFromFinancingActivitiesDiscontinued = 0 and NetCashFlowDiscontinued <> 0 Then NetCashFlowFromOperatingActivitiesDiscontinued = NetCashFlowDiscontinued End If 'CF-Impute-102: If NetCashFlowFromOperatingActivitiesContinuing = 0 and NetCashFlowFromOperatingActivities <> 0 Then NetCashFlowFromOperatingActivitiesContinuing = NetCashFlowFromOperatingActivities - NetCashFlowFromOperatingActivitiesDiscontinued End If 'CF-Impute-103: If NetCashFlowFromInvestingActivitiesContinuing = 0 and NetCashFlowFromInvestingActivities <> 0 Then NetCashFlowFromInvestingActivitiesContinuing = NetCashFlowFromInvestingActivities - NetCashFlowFromInvestingActivitiesDiscontinued End If 'CF-Impute-104: If NetCashFlowFromFinancingActivitiesContinuing = 0 and NetCashFlowFromFinancingActivities <> 0 Then NetCashFlowFromFinancingActivitiesContinuing = NetCashFlowFromFinancingActivities - NetCashFlowFromFinancingActivitiesDiscontinued End If 'CF-Impute-105: If NetCashFlowFromOperatingActivities = 0 Then NetCashFlowFromOperatingActivities = NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromOperatingActivitiesDiscontinued End If 'CF-Impute-106: If NetCashFlowFromInvestingActivities = 0 Then NetCashFlowFromInvestingActivities = NetCashFlowFromInvestingActivitiesContinuing + NetCashFlowFromInvestingActivitiesDiscontinued End If 'CF-Impute-107: If NetCashFlowFromFinancingActivities = 0 Then NetCashFlowFromFinancingActivities = NetCashFlowFromFinancingActivitiesContinuing + NetCashFlowFromFinancingActivitiesDiscontinued End If 'CF-Impute-108: If NetCashFlowDiscontinued = 0 Then NetCashFlowDiscontinued = NetCashFlowFromOperatingActivitiesDiscontinued + NetCashFlowFromInvestingActivitiesDiscontinued + NetCashFlowFromFinancingActivitiesDiscontinued End If 'CF-Impute-109: 'CF-Impute-NEW during refactoring: If NetCashFlowContinuing = 0 and NetCashFlow <> 0 Then NetCashFlowContinuing = NetCashFlow - NetCashFlowDiscontinued - ExchangeGainsLosses End If 'CF-Impute-110: 'CF-Impute-NEW2 during refactoring: If NetCashFlow = 0 and NetCashFlowContinuing <> 0 Then NetCashFlow = NetCashFlowContinuing + NetCashFlowDiscontinued + ExchangeGainsLosses End If 'CF-Impute-111: Added 2015-11-05 If NetCashFlowFromInvestingActivitiesContinuing = 0 and NetCashFlowFromOperatingActivitiesContinuing <> 0 and NetCashFlowFromFinancingActivitiesContinuing <> 0 and (NetCashFlowContinuing - (NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromInvestingActivitiesContinuing + NetCashFlowFromFinancingActivitiesContinuing) <> 0) Then NetCashFlowFromInvestingActivitiesContinuing = NetCashFlowContinuing - (NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromFinancingActivitiesContinuing) End If 'CF-Impute-112: Added 2015-11-05 If NetCashFlowFromFinancingActivitiesContinuing = 0 and NetCashFlowFromOperatingActivitiesContinuing <> 0 and NetCashFlowFromInvestingActivitiesContinuing <> 0 and (NetCashFlowContinuing - (NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromInvestingActivitiesContinuing + NetCashFlowFromFinancingActivitiesContinuing) <> 0) Then NetCashFlowFromFinancingActivitiesContinuing = NetCashFlowContinuing - (NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromInvestingActivitiesContinuing) End If 'CF-Impute-113: Added 2015-11-05 If NetCashFlowFromInvestingActivities = 0 and NetCashFlowFromOperatingActivities <> 0 and NetCashFlowFromFinancingActivities <> 0 and (NetCashFlow - (NetCashFlowFromOperatingActivities + NetCashFlowFromInvestingActivities + NetCashFlowFromFinancingActivities + ExchangeGainsLosses) <> 0) Then NetCashFlowFromInvestingActivities = NetCashFlow - (NetCashFlowFromOperatingActivities + NetCashFlowFromFinancingActivities + ExchangeGainsLosses) End If 'CF-Impute-114: Added 2015-11-05 If NetCashFlowFromFinancingActivities = 0 and NetCashFlowFromOperatingActivities <> 0 and NetCashFlowFromInvestingActivities <> 0 and (NetCashFlow - (NetCashFlowFromOperatingActivities + NetCashFlowFromInvestingActivities + NetCashFlowFromFinancingActivities + ExchangeGainsLosses) <> 0) Then NetCashFlowFromFinancingActivities = NetCashFlow - (NetCashFlowFromOperatingActivities + NetCashFlowFromInvestingActivities + ExchangeGainsLosses) End If 'CF-Impute-115: If NetCashFlowContinuing = 0 Then NetCashFlowContinuing = NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromInvestingActivitiesContinuing + NetCashFlowFromFinancingActivitiesContinuing End If 'CF-Impute-116: If NetCashFlowFromOperatingActivities = 0 and NetCashFlowFromOperatingActivitiesContinuing <> 0 and NetCashFlowFromOperatingActivitiesDiscontinued = 0 Then NetCashFlowFromOperatingActivities = NetCashFlowFromOperatingActivitiesContinuing End If 'CF-Impute-117: If NetCashFlowFromInvestingActivities = 0 and NetCashFlowFromInvestingActivitiesContinuing <> 0 and NetCashFlowFromInvestingActivitiesDiscontinued = 0 Then NetCashFlowFromInvestingActivities = NetCashFlowFromInvestingActivitiesContinuing End If 'CF-Impute-118: If NetCashFlowFromFinancingActivities = 0 and NetCashFlowFromFinancingActivitiesContinuing <> 0 and NetCashFlowFromFinancingActivitiesDiscontinued = 0 Then NetCashFlowFromFinancingActivities = NetCashFlowFromFinancingActivitiesContinuing End If 'CF-Impute-119: Added 2016-12-12 If NetCashFlowFromInvestingActivitiesContinuing = 0 and NetCashFlowFromInvestingActivitiesDiscontinued = 0 and NetCashFlowFromInvestingActivities <> 0 Then NetCashFlowFromInvestingActivitiesContinuing = NetCashFlowFromInvestingActivities End If 'CF-Impute-120: Added 2016-12-12 If NetCashFlowFromFinancingActivitiesContinuing = 0 and NetCashFlowFromFinancingActivitiesDiscontinued = 0 and NetCashFlowFromFinancingActivities <> 0 Then NetCashFlowFromFinancingActivitiesContinuing = NetCashFlowFromFinancingActivities End If 'CF-Impute-121: Added 2015-11-05 If NetCashFlow = 0 and NetCashFlowContinuing <> 0 and NetCashFlowDiscontinued = 0 and NetCashFlowFromOperatingActivitiesDiscontinued = 0 and NetCashFlowFromInvestingActivitiesDiscontinued = 0 and NetCashFlowFromFinancingActivitiesDiscontinued = 0 and ExchangeGainsLosses = 0 Then NetCashFlow = NetCashFlowContinuing End If 'CF-Impute-122: If NetCashFlow = 0 and (NetCashFlowFromOperatingActivities <> 0 or NetCashFlowFromInvestingActivities <> 0 or NetCashFlowFromFinancingActivities <> 0) Then NetCashFlow = NetCashFlowFromOperatingActivities + NetCashFlowFromInvestingActivities + NetCashFlowFromFinancingActivities + ExchangeGainsLosses End If 'CF-Impute-123: If NetCashFlow = 0 and NetCashFlowContinuing <> 0 and NetCashFlowDiscontinued <> 0 Then NetCashFlow = NetCashFlowContinuing + NetCashFlowDiscontinued + ExchangeGainsLosses End If 'VERIFICATION RULES: Cash flow statement CF1 = NetCashFlow - (NetCashFlowFromOperatingActivities + NetCashFlowFromInvestingActivities + NetCashFlowFromFinancingActivities + ExchangeGainsLosses) 'CF2 = NetCashFlowContinuing - (NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromInvestingActivitiesContinuing + NetCashFlowFromFinancingActivitiesContinuing) CF2 = NetCashFlow - (NetCashFlowContinuing + NetCashFlowDiscontinued + ExchangeGainsLosses) CF3 = NetCashFlowDiscontinued - (NetCashFlowFromOperatingActivitiesDiscontinued + NetCashFlowFromInvestingActivitiesDiscontinued + NetCashFlowFromFinancingActivitiesDiscontinued) CF4 = NetCashFlowFromOperatingActivities - (NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromOperatingActivitiesDiscontinued) CF5 = NetCashFlowFromInvestingActivities - (NetCashFlowFromInvestingActivitiesContinuing + NetCashFlowFromInvestingActivitiesDiscontinued) CF6 = NetCashFlowFromFinancingActivities - (NetCashFlowFromFinancingActivitiesContinuing + NetCashFlowFromFinancingActivitiesDiscontinued) 'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 411.1-Net Cash Flow Breakdown (http://www.xbrlsite.com/2014/Protototype/fac/NetCashFlowBreakdown) 'Empty 'Reviewed 2015-11-13 'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 420.1-Continuing and Discontinued Net Cash Flow Breakdown (http://www.xbrlsite.com/2014/Protototype/fac/ContinuingDiscontuedBreakdown) 'Empty 'Reviewed 2015-11-13 'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 501-Key Ratios (http://www.xbrlsite.com/2014/Protototype/fac/KeyRatios) 'Key ratios 'Reviewed 2015-11-13 If (Assets <> 0) and (Equity <> 0) and (Revenues <> 0) Then SustainableGrowthRate = ((NetIncomeLoss / Revenues) * (1+((Assets - Equity) / Equity))) / ((1 / (Revenues / Assets))-(((NetIncomeLoss / Revenues) * (1+(((Assets - Equity) / Equity)))))) End If If Assets <> 0 Then ReturnOnAssets = NetIncomeLoss / Assets End If If Equity <> 0 Then ReturnOnEquity = NetIncomeLoss / Equity End If If Revenues <> 0 Then ReturnOnSales = NetIncomeLoss / Revenues End If 'XXXXXXXXXXXXXXXXXXXXXXXX NETWORK: 601.2-Validation Results (No IS11) (http://www.xbrlsite.com/2014/Protototype/fac/ValidationResults2) 'Empty 'Reviewed 2015-11-13 'END OF FILE