'Created by Charles Hoffman, CPA 3/28/2016 1:57:16 PM
'Report frame 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

    'IS-Impute-00: (Added, 2016-03-06)
    If RedeemableNoncontrollingInterest = 0 Then
        RedeemableNoncontrollingInterest = RedeemableNoncontrollingInterestCommon + RedeemableNoncontrollingInterestPreferred + RedeemableNoncontrollingInterestOther
    End If

    'IS-Impute-00: (Added, 2016-03-06)
    If TemporaryEquity = 0 Then
        TemporaryEquity = TemporaryEquityAttributableToParent + RedeemableNoncontrollingInterest
    End If

	
    'BS-Impute-01:
    If Assets = 0 and NoncurrentAssets = 0 and Assets <> LiabilitiesAndEquity and CurrentAssets = LiabilitiesAndEquity Then
        Assets = CurrentAssets
    End If
    
    'BS-Impute-02:
    If Assets = 0 and LiabilitiesAndEquity <> 0 and CurrentAssets = LiabilitiesAndEquity Then
        Assets = CurrentAssets
    End If
    
    'BS-Impute-03: 
    If Assets = 0 and NoncurrentAssets = 0 and LiabilitiesAndEquity <> 0 and (LiabilitiesAndEquity = Liabilities + Equity) Then
        Assets = CurrentAssets
    End If
    
    'BS-Impute-04:
    If NoncurrentAssets = 0 and Assets <> 0 and CurrentAssets <> 0 Then
        NoncurrentAssets = Assets - CurrentAssets
    End If
    
    'BS-Impute-05: 
    If LiabilitiesAndEquity = 0 and Assets <> 0 Then
        LiabilitiesAndEquity = Assets
    End If
    
    'BS-Impute-06: 
    If Equity = 0 and EquityAttributableToNoncontrollingInterest <> 0 and EquityAttributableToParent <> 0 Then
        Equity = EquityAttributableToParent + EquityAttributableToNoncontrollingInterest
    End If
    
    'BS-Impute-07:
    If Equity = 0 and EquityAttributableToNoncontrollingInterest = 0 and EquityAttributableToParent <> 0 Then
        Equity = EquityAttributableToParent
    End If
    
    'BS-Impute-08:
    If Equity = 0 Then
        Equity = EquityAttributableToParent + EquityAttributableToNoncontrollingInterest
    End If
    
    'BS-Impute-09: 
    If EquityAttributableToParent = 0 and Equity <> 0 and EquityAttributableToNoncontrollingInterest <> 0 Then
        EquityAttributableToParent = Equity - EquityAttributableToNoncontrollingInterest
    End If
    
    'BS-Impute-10: 
    If EquityAttributableToParent = 0 and Equity <> 0 and EquityAttributableToNoncontrollingInterest = 0 Then
        EquityAttributableToParent = Equity
    End If

    'BS-Impute-56: (ADDED 2016-02-28) 
    If NoncurrentLiabilities = 0 and CurrentLiabilities <> 0 and Liabilities <> 0 Then
        NoncurrentLiabilities = Liabilities - CurrentLiabilities
    End If

    'BS-Impute-14: 
    If Liabilities = 0 and CurrentLiabilities <> 0 and NoncurrentLiabilities <> 0 Then
        Liabilities = CurrentLiabilities + NoncurrentLiabilities
    End If

    'BS-Impute-11: 
    If Liabilities = 0 and Equity <> 0 Then
        Liabilities = LiabilitiesAndEquity - (CommitmentsAndContingencies + TemporaryEquity + Equity)
    End If

    'BS-Impute-56: (ADDED 2016-02-28, 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-13:
    If Liabilities = 0 and CurrentLiabilities <> 0 and NoncurrentLiabilities = 0 Then
        Liabilities = CurrentLiabilities
    End If
    
    'BS-Impute-15: 
    If EquityAttributableToParent <> 0 and Equity <> 0 and EquityAttributableToNoncontrollingInterest <> 0 and EquityAttributableToParent = Equity Then
        EquityAttributableToParent = Equity - EquityAttributableToNoncontrollingInterest
    End If

    'BS-Impute-16: 
    If CurrentLiabilities = 0 and NoncurrentLiabilities = 0 and Liabilities <> 0 Then
        CurrentLiabilities = Liabilities
    End If


    'BS-Impute-17: ADDED 2015-05-29, also removed mappings to detailed NCI concepts
    If EquityAttributableToNoncontrollingInterest = 0 and Equity <> 0 and EquityAttributableToParent <> 0 Then
        EquityAttributableToNoncontrollingInterest = Equity - EquityAttributableToParent
    End If


    '******************************************************
    'BS-Impute-AGRESSIVE-01: 
    If CurrentAssets = 0 and Assets <> 0 and LiabilitiesAndEquity <> 0 and LiabilitiesAndEquity = Assets Then
        CurrentAssets = Assets
    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-01: 
    If ComprehensiveIncomeLossAttributableToParent = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and ComprehensiveIncomeLoss <> 0 Then
        ComprehensiveIncomeLossAttributableToParent = ComprehensiveIncomeLoss
    End If

    'IS-Impute-02: 
    If ComprehensiveIncomeLossAttributableToParent = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest <> 0 and ComprehensiveIncomeLoss <> 0 Then
        ComprehensiveIncomeLossAttributableToParent = ComprehensiveIncomeLoss - ComprehensiveIncomeLossAttributableToNoncontrollingInterest
    End If



    'IS-Impute-03: 
    If ComprehensiveIncomeLoss = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest <> 0 and ComprehensiveIncomeLossAttributableToParent <> 0 Then
        ComprehensiveIncomeLoss = ComprehensiveIncomeLossAttributableToParent + ComprehensiveIncomeLossAttributableToNoncontrollingInterest
    End If

    'IS-Impute-04: 
    If ComprehensiveIncomeLoss = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and ComprehensiveIncomeLossAttributableToParent <> 0 Then
        ComprehensiveIncomeLoss = ComprehensiveIncomeLossAttributableToParent
    End If

    'IS-Impute-05: 
    If ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and ComprehensiveIncomeLoss <> 0 and ComprehensiveIncomeLossAttributableToParent <> 0 Then
        ComprehensiveIncomeLossAttributableToNoncontrollingInterest = ComprehensiveIncomeLoss - ComprehensiveIncomeLossAttributableToParent
    End If



    'IS-Impute-06: 
    If ComprehensiveIncomeLoss = 0 and ComprehensiveIncomeLossAttributableToParent = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and OtherComprehensiveIncomeLoss = 0 Then
        ComprehensiveIncomeLoss = NetIncomeLoss
    End If
            
    'IS-Impute-07: 
    If OtherComprehensiveIncomeLoss = 0 and ComprehensiveIncomeLoss <> 0 Then
        OtherComprehensiveIncomeLoss = ComprehensiveIncomeLoss - NetIncomeLoss
    End If

    'IS-Impute-08: 
    If ComprehensiveIncomeLossAttributableToParent = 0 and ComprehensiveIncomeLossAttributableToNoncontrollingInterest = 0 and ComprehensiveIncomeLoss <> 0 Then
        ComprehensiveIncomeLossAttributableToParent = ComprehensiveIncomeLoss
    End If

    'IS-Impute-09:
    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-01: 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-02:
    If NetCashFlowFromOperatingActivitiesContinuing = 0 and NetCashFlowFromOperatingActivities <> 0 Then
        NetCashFlowFromOperatingActivitiesContinuing = NetCashFlowFromOperatingActivities - NetCashFlowFromOperatingActivitiesDiscontinued
    End If

    'CF-Impute-03:
    If  NetCashFlowFromInvestingActivitiesContinuing = 0 and NetCashFlowFromInvestingActivities <> 0 Then
        NetCashFlowFromInvestingActivitiesContinuing = NetCashFlowFromInvestingActivities - NetCashFlowFromInvestingActivitiesDiscontinued
    End If

    'CF-Impute-04:
    If NetCashFlowFromFinancingActivitiesContinuing = 0 and NetCashFlowFromFinancingActivities <> 0 Then
        NetCashFlowFromFinancingActivitiesContinuing = NetCashFlowFromFinancingActivities - NetCashFlowFromFinancingActivitiesDiscontinued
    End If


    'CF-Impute-05:
    If NetCashFlowFromOperatingActivities = 0 Then
        NetCashFlowFromOperatingActivities = NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromOperatingActivitiesDiscontinued
    End If

    'CF-Impute-06:
    If NetCashFlowFromInvestingActivities = 0 Then
        NetCashFlowFromInvestingActivities = NetCashFlowFromInvestingActivitiesContinuing + NetCashFlowFromInvestingActivitiesDiscontinued
    End If

    'CF-Impute-07:
    If NetCashFlowFromFinancingActivities = 0 Then
        NetCashFlowFromFinancingActivities = NetCashFlowFromFinancingActivitiesContinuing + NetCashFlowFromFinancingActivitiesDiscontinued
    End If



    'CF-Impute-08:
    If NetCashFlowDiscontinued = 0 Then
        NetCashFlowDiscontinued = NetCashFlowFromOperatingActivitiesDiscontinued + NetCashFlowFromInvestingActivitiesDiscontinued + NetCashFlowFromFinancingActivitiesDiscontinued
    End If


    'CF-Impute-09:
    'CF-Impute-NEW during refactoring:
    If NetCashFlowContinuing = 0 and NetCashFlow <> 0 Then
        NetCashFlowContinuing = NetCashFlow - NetCashFlowDiscontinued - ExchangeGainsLosses
    End If
    

    'CF-Impute-10:
    'CF-Impute-NEW2 during refactoring:
    If NetCashFlow = 0 and NetCashFlowContinuing <> 0 Then
        NetCashFlow = NetCashFlowContinuing + NetCashFlowDiscontinued  + ExchangeGainsLosses
    End If
    


    'CF-Impute-11: 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-12: 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-13: 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-14: 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-15:
    If NetCashFlowContinuing = 0 Then
        NetCashFlowContinuing = NetCashFlowFromOperatingActivitiesContinuing + NetCashFlowFromInvestingActivitiesContinuing + NetCashFlowFromFinancingActivitiesContinuing
    End If
    
    


    
    'CF-Impute-16:
    If NetCashFlowFromOperatingActivities = 0 and NetCashFlowFromOperatingActivitiesContinuing <> 0 and NetCashFlowFromOperatingActivitiesDiscontinued = 0 Then
        NetCashFlowFromOperatingActivities = NetCashFlowFromOperatingActivitiesContinuing
    End If

    'CF-Impute-17:
    If NetCashFlowFromInvestingActivities = 0 and NetCashFlowFromInvestingActivitiesContinuing <> 0 and NetCashFlowFromInvestingActivitiesDiscontinued = 0 Then
        NetCashFlowFromInvestingActivities = NetCashFlowFromInvestingActivitiesContinuing
    End If

    'CF-Impute-18:
    If NetCashFlowFromFinancingActivities = 0 and NetCashFlowFromFinancingActivitiesContinuing <> 0 and NetCashFlowFromFinancingActivitiesDiscontinued = 0 Then
        NetCashFlowFromFinancingActivities = NetCashFlowFromFinancingActivitiesContinuing
    End If



    'CF-Impute-19: 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-20:
    If NetCashFlow = 0 and (NetCashFlowFromOperatingActivities <> 0 or NetCashFlowFromInvestingActivities <> 0 or NetCashFlowFromFinancingActivities <> 0) Then
        NetCashFlow = NetCashFlowFromOperatingActivities + NetCashFlowFromInvestingActivities + NetCashFlowFromFinancingActivities + ExchangeGainsLosses
    End If


    'CF-Impute-21: 
    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
