<?xml version="1.0" encoding="utf-8" ?>
<Suite Category="Finance" Title="Yahoo Finance" Id="YahooFinance" RequireVersion="9.5.8" SourceUrl="https://github.com/nielsbosma/SeoTools-for-Excel-Connectors/blob/master/YahooFinance.xml" HelpUrl="http://seotoolsforexcel.com/yahoo-finance/" HelpText="Documentation">

  <Author Name="Victor Sandberg" Url="http://community.seotoolsforexcel.com/users/diskborste/activity" />

  <Resources>
    <Resource Id="HttpSettings">
			<HttpSettings>
        <IntervalBetweenRequests RandomFrom="@(Model.Delay)" RandomTo="@(Model.Delay+10)" IfSame="Domain"/>
      </HttpSettings>
    </Resource>
  </Resources>

	<RestConnector Id="FinancialSummary" Title="Financial Summary">
    <Parameters>
      <Text Id="Symbol" Title="Stock Symbol" Debug.DefaultValue="LB" Required="true"/>
			<Number Id="Delay" Title="Delay (Milliseconds)" DefaultValue="1000" Minimum="0" Maximum="20000"/>
    </Parameters>
    <Fetch>
			<Resource Id="HttpSettings"/>
      <Fetch.Url>
        <![CDATA[
				https://query1.finance.yahoo.com/v10/finance/quoteSummary/@(Model.Symbol)
				?formatted=true&crumb=RCf3B.8oznv&corsDomain=finance.yahoo.com
				&lang=en-US&region=US
				&modules=financialData
        ]]>
      </Fetch.Url>
    </Fetch>
    <Parse>
			<JsonPath Expr="$.quoteSummary.result[0].financialData">
				<JsonPath Expr="currentPrice.raw" Id="CurrentPrice" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="targetHighPrice.raw" Id="TargetHighPrice" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="targetLowPrice.raw" Id="TargetLowPrice" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="targetMeanPrice.raw" Id="TargetMeanPrice" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="targetMedianPrice.raw" Id="TargetMedianPrice" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="recommendationMean.raw" Id="RecommendationMean" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="numberOfAnalystOpinions.raw" Id="NumberOfAnalystOpinions" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="totalCash.raw" Id="TotalCash" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="totalCashPerShare.raw" Id="TotalCashPerShare" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="ebitda.raw" Id="Ebitda" Title="EBITDA" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="totalDebt.raw" Id="TotalDebt" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="quickRatio.raw" Id="QuickRatio" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="currentRatio.raw" Id="CurrentRatio" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="totalRevenue.raw" Id="TotalRevenue" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="debtToEquity.raw" Id="DebtToEquity" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="revenuePerShare.raw" Id="RevenuePerShare" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="returnOnAssets.raw" Id="ReturnOnAssets" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="returnOnEquity.raw" Id="ReturnOnEquity" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="grossProfits.raw" Id="GrossProfits" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="freeCashflow.raw" Id="FreeCashflow" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="operatingCashflow.raw" Id="OperatingCashflow" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="earningsGrowth.raw" Id="EarningsGrowth" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="revenueGrowth.raw" Id="RevenueGrowth" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="grossMargins.raw" Id="GrossMargins" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="ebitdaMargins.raw" Id="EbitdaMargins" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="operatingMargins.raw" Id="OperatingMargins" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="profitMargins.raw" Id="ProfitMargins" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="financialCurrency.raw" Id="FinancialCurrency" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
			</JsonPath>
    </Parse>
  </RestConnector>

	<RestConnector Id="KeyStatistics" Title="Key Statistics">
    <Parameters>
      <Text Id="Symbol" Title="Stock Symbol" Debug.DefaultValue="LB" Required="true"/>
			<Number Id="Delay" Title="Delay (Milliseconds)" DefaultValue="1000" Minimum="0" Maximum="20000"/>
    </Parameters>
    <Fetch>
			<Resource Id="HttpSettings"/>
      <Fetch.Url>
        <![CDATA[
				https://query1.finance.yahoo.com/v10/finance/quoteSummary/@(Model.Symbol)
				?formatted=true&crumb=RCf3B.8oznv&corsDomain=finance.yahoo.com
				&lang=en-US&region=US
				&modules=defaultKeyStatistics
        ]]>
      </Fetch.Url>
    </Fetch>
    <Parse>
			<JsonPath Expr="$.quoteSummary.result[0].defaultKeyStatistics">
				<JsonPath Expr="priceHint.raw" Id="PriceHint" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="enterpriseValue.raw" Id="EnterpriseValue" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="forwardPE.raw" Id="ForwardPe" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="profitMargins.raw" Id="ProfitMargins" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="floatShares.raw" Id="FloatShares" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="sharesOutstanding.raw" Id="SharesOutstanding" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="sharesShort.raw" Id="SharesShort" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="sharesShortPriorMonth.raw" Id="SharesShortPriorMonth" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="sharesShortPreviousMonthDate.raw" Id="SharesShortPreviousMonthDate" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="dateShortInterest.raw" Id="DateShortInterest" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="sharesPercentSharesOut.raw" Id="SharesPercentSharesOut" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="heldPercentInsiders.raw" Id="HeldPercentInsiders" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="heldPercentInstitutions.raw" Id="HeldPercentInstitutions" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="shortRatio.raw" Id="ShortRatio" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="shortPercentOfFloat.raw" Id="ShortPercentOfFloat" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="beta.raw" Id="Beta" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="impliedSharesOutstanding.raw" Id="ImpliedSharesOutstanding" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="morningStarOverallRating.raw" Id="MorningStarOverallRating" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="morningStarRiskRating.raw" Id="MorningStarRiskRating" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="bookValue.raw" Id="BookValue" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="priceToBook.raw" Id="PriceToBook" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="annualReportExpenseRatio.raw" Id="AnnualReportExpenseRatio" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="ytdReturn.raw" Id="YtdReturn" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="beta3Year.raw" Id="Beta3Year" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="totalAssets.raw" Id="TotalAssets" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="yield.raw" Id="Yield" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="threeYearAverageReturn.raw" Id="ThreeYearAverageReturn" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="fiveYearAverageReturn.raw" Id="FiveYearAverageReturn" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="priceToSalesTrailing12Months.raw" Id="PriceToSalesTrailing12Months" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="lastFiscalYearEnd.raw" Id="LastFiscalYearEnd" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="nextFiscalYearEnd.raw" Id="NextFiscalYearEnd" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="mostRecentQuarter.raw" Id="MostRecentQuarter" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="earningsQuarterlyGrowth.raw" Id="EarningsQuarterlyGrowth" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="revenueQuarterlyGrowth.raw" Id="RevenueQuarterlyGrowth" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="netIncomeToCommon.raw" Id="NetIncomeToCommon" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="trailingEps.raw" Id="TrailingEps" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="forwardEps.raw" Id="ForwardEps" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="pegRatio.raw" Id="PegRatio" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="lastSplitFactor" Id="LastSplitFactor" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="lastSplitDate.fmt" Id="LastSplitDate" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="enterpriseToRevenue.raw" Id="EnterpriseToRevenue" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="enterpriseToEbitda.raw" Id="EnterpriseToEbitda" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="52WeekChange.raw" Id="52WeekChange" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="SandP52WeekChange.raw" Id="SandP52WeekChange" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="lastDividendValue.raw" Id="LastDividendValue" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="lastDividendDate.raw" Id="LastDividendDate" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="lastCapGain.raw" Id="LastCapGain" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="annualHoldingsTurnover.raw" Id="AnnualHoldingsTurnover" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
			</JsonPath>
    </Parse>
  </RestConnector>

	<RestConnector Id="ProfileSummary" Title="Profile Summary">
    <Parameters>
      <Text Id="Symbol" Title="Stock Symbol" Debug.DefaultValue="LB" Required="true"/>
			<Number Id="Delay" Title="Delay (Milliseconds)" DefaultValue="1000" Minimum="0" Maximum="20000"/>
    </Parameters>
    <Fetch>
			<Resource Id="HttpSettings"/>
      <Fetch.Url>
        <![CDATA[
				https://query1.finance.yahoo.com/v10/finance/quoteSummary/@(Model.Symbol)
				?formatted=true&crumb=RCf3B.8oznv&corsDomain=finance.yahoo.com
				&lang=en-US&region=US
				&modules=assetProfile
        ]]>
      </Fetch.Url>
    </Fetch>
    <Parse>
			<JsonPath Expr="$.quoteSummary.result[0].assetProfile">
				<JsonPath Expr="address1" Id="Address" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="city" Id="City" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="state" Id="State" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="zip" Id="Zip" Converter="String" DefaultValue=""/>
				<JsonPath Expr="country" Id="Country" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="phone" Id="Phone" Converter="String" DefaultValue=""/>
				<JsonPath Expr="website" Id="Website" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="industry" Id="Industry" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="sector" Id="Sector" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="fullTimeEmployees" Id="Employees" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="auditRisk" Id="AuditRisk" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="boardRisk" Id="BoardRisk" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="compensationRisk" Id="CompensationRisk" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="shareHolderRightsRisk" Id="ShareHolderRightsRisk" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="overallRisk" Id="OverallRisk" FriendlyIdTitle="true" Converter="Auto" DefaultValue=""/>
			</JsonPath>
    </Parse>
  </RestConnector>

	<RestConnector Id="FinancialReport" Title="Financial Report">
    <Parameters>
      <Text Id="Symbol" Title="Stock Symbol" Debug.DefaultValue="LB" Required="true"/>
			<Select Id="Period" DefaultValue="annual">
        <DataSource>
          <Item Id="annual" Title="Annual"/>
					<Item Id="quarterly" Title="Quarterly"/>
        </DataSource>
      </Select>
			<Select Id="NumberFormat" Title="Number Format" DefaultValue="raw">
        <DataSource>
          <Item Id="raw" Title="Raw"/>
					<Item Id="fmt" Title="Formatted"/>
        </DataSource>
      </Select>
			<Number Id="Delay" Title="Delay (Milliseconds)" DefaultValue="1000" Minimum="0" Maximum="20000"/>
    </Parameters>
    <Fetch>
			<Resource Id="HttpSettings"/>
      <Fetch.Url>
        <![CDATA[
        	https://query1.finance.yahoo.com/ws/fundamentals-timeseries/v1/finance/timeseries/@(Model.Symbol)?&symbol=@(Model.Symbol)
					&type=@GetReports()
					&lang=en-US&region=US&padTimeSeries=true&merge=false
					&period1=493590046
					&period2=@(DateTimeOffset.Now.ToUnixTimeSeconds())
					&corsDomain=finance.yahoo.com
        ]]>
      </Fetch.Url>
    </Fetch>
    <Parse>
			<Array>
				<Array.Expr>
					<![CDATA[
					@{
					  string body = Model.FetchedResult.Body;
						IEnumerable<JToken> reports = JObject.Parse(body).SelectTokens("$.timeseries.result[*]");
            var maxPeriodsCount = reports.Max(e => ((JObject)e).Properties().Last().Value.Count());

            var dictReports = new Dictionary<string, List<string>>();

            foreach (string reportTitle in Reports)
            {
							string reportName = Model.Period + reportTitle;
							string format = Model.NumberFormat;

							if (reports.Any(e => ((JObject)e).Properties().Any(f => f.Name == reportName)))
							{
								JToken reportGroup = reports.First(e => ((JObject)e).Properties().Any(f => f.Name == reportName));
								JToken report = reportGroup[reportName];

								List<string> values = new List<string>();

								foreach(var date in report.Reverse())
								{
									string value = date.Type != JTokenType.Null ? date["reportedValue"][format].ToString() : "0";
									values.Add(value);
								}

								dictReports.Add(reportTitle, values);
							}
            }

            string[,] result = new string[dictReports.Count() + 1, maxPeriodsCount + 1];
            result[0, 0] = Utils.Capitalize(Model.Period) + " Report Name";

            var allDates = reports.First(e => ((JObject)e).Properties().Any(f => f.Value.Count() == maxPeriodsCount))
							.Last().Values().ToArray();

            int i = 1;
            foreach (JToken date in allDates.Reverse())
            {
							result[0, i] = date["asOfDate"].ToString();
							i++;
            }

            i = 1;
            foreach (KeyValuePair<string, List<string>> report in dictReports)
            {
							result[i, 0] = StringUtils.FriendlyName(report.Key);

							int j = 0;
							foreach(string date in report.Value)
							{
								result[i, j+1] = report.Value[j];
								j++;
							}
							i++;
            }
						Model.ArrayParser.Array = result;
						}
					]]>
				</Array.Expr>
			</Array>
		</Parse>
  </RestConnector>

	<RestConnector Id="MajorHoldersBreakdown" Title="Major Holders Breakdown">
    <Parameters>
      <Text Id="Symbol" Title="Stock Symbol" Debug.DefaultValue="LB" Required="true"/>
			<Number Id="Delay" Title="Delay (Milliseconds)" DefaultValue="1000" Minimum="0" Maximum="20000"/>
    </Parameters>
    <Fetch>
			<Resource Id="HttpSettings"/>
      <Fetch.Url>
        <![CDATA[
				https://query1.finance.yahoo.com/v10/finance/quoteSummary/@(Model.Symbol)
				?formatted=true&crumb=RCf3B.8oznv&corsDomain=finance.yahoo.com
				&lang=en-US&region=US
				&modules=majorHoldersBreakdown
        ]]>
      </Fetch.Url>
    </Fetch>
    <Parse>
			<JsonPath Expr="$.quoteSummary.result[0].majorHoldersBreakdown">
				<JsonPath Expr="insidersPercentHeld.raw" Id="PercentSharesAllInsider" Title="Percent of Shares Held by All Insider" Converter="Double" DefaultValue=""/>
				<JsonPath Expr="institutionsPercentHeld.raw" Id="PercentSharesInstitutions" Title="Percent of Shares Held by Institutions" Converter="Double" DefaultValue=""/>
				<JsonPath Expr="institutionsFloatPercentHeld.raw" Id="PercentFloatAllInsider" Title="Percent of Float Held by All Insider" Converter="Double" DefaultValue=""/>
				<JsonPath Expr="institutionsCount.raw" Id="InstitutionsHoldingShares" Title="Number of Institutions Holding Shares" Converter="Double" DefaultValue=""/>
			</JsonPath>
    </Parse>
  </RestConnector>

	<RestConnector Id="TopHolders" Title="Top Holders">
    <Parameters>
      <Text Id="Symbol" Title="Stock Symbol" Debug.DefaultValue="LB" Required="true"/>
      <Select Id="Type" DefaultValue="institutionOwnership" Required="false">
        <DataSource>
          <Item Id="institutionOwnership" Title="Institutional"/>
          <Item Id="fundOwnership" Title="Mutual Fund"/>
        </DataSource>
      </Select>
			<Number Id="Delay" Title="Delay (Milliseconds)" DefaultValue="1000" Minimum="0" Maximum="20000"/>
    </Parameters>
    <Fetch>
			<Resource Id="HttpSettings"/>
      <Fetch.Url>
        <![CDATA[
				https://query1.finance.yahoo.com/v10/finance/quoteSummary/@(Model.Symbol)
				?formatted=true&crumb=RCf3B.8oznv&corsDomain=finance.yahoo.com
				&lang=en-US&region=US
				&modules=@Model.Type
        ]]>
      </Fetch.Url>
    </Fetch>
    <Parse>
			<JsonPath Expr="$.quoteSummary.result[0].@(Model.Type).ownershipList[*]">
				<JsonPath Expr="organization" Id="Holder" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="position.raw" Id="Shares" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="reportDate.fmt" Id="Reported" Converter="DateTime" DefaultValue=""/>
				<JsonPath Expr="pctHeld.raw" Id="Percent" Converter="Double" DefaultValue=""/>
				<JsonPath Expr="value.raw" Id="Value" Converter="Auto" DefaultValue=""/>
			</JsonPath>
    </Parse>
  </RestConnector>

	<RestConnector Id="KeyExecutives" Title="Key Executives">
    <Parameters>
      <Text Id="Symbol" Title="Stock Symbol" Debug.DefaultValue="LB" Required="true"/>
			<Number Id="Delay" Title="Delay (Milliseconds)" DefaultValue="1000" Minimum="0" Maximum="20000"/>
    </Parameters>
    <Fetch>
			<Resource Id="HttpSettings"/>
      <Fetch.Url>
        <![CDATA[
				https://query1.finance.yahoo.com/v10/finance/quoteSummary/@(Model.Symbol)
				?formatted=true&crumb=RCf3B.8oznv&corsDomain=finance.yahoo.com
				&lang=en-US&region=US
				&modules=assetProfile
        ]]>
      </Fetch.Url>
    </Fetch>
    <Parse>
			<JsonPath Expr="$.quoteSummary.result[0].assetProfile.companyOfficers[*]">
				<JsonPath Expr="name" Id="Name" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="title" Id="Title" Converter="Auto" DefaultValue=""/>
				<JsonPath Expr="totalPay.raw" Id="Pay" Converter="Double" DefaultValue=""/>
				<JsonPath Expr="exercisedValue.raw" Id="Exercised" Converter="Double" DefaultValue=""/>
				<JsonPath Expr="unexercisedValue.raw" Id="Unexercised" Converter="Double" DefaultValue=""/>
				<JsonPath Expr="yearBorn" Id="Born" Converter="Auto" DefaultValue=""/>
			</JsonPath>
    </Parse>
  </RestConnector>

	<RazorFunctions>
		<![CDATA[
			List<string> Reports = new List<string> ()
			{
				"TotalRevenue",
				"OperatingRevenue",
				"CostOfRevenue",
				"GrossProfit",
				"OperatingExpense",
				"SellingGeneralAndAdministration",
				"ResearchAndDevelopment",
				"OperatingIncome",
				"NetNonOperatingInterestIncomeExpense",
				"InterestExpenseNonOperating",
				"OtherIncomeExpense",
				"OtherNonOperatingIncomeExpenses",
				"PretaxIncome",
				"TaxProvision",
				"NetIncomeContinuousOperations",
				"NetIncome",
				"NetIncomeIncludingNoncontrollingInterests",
				"NetIncomeFromContinuingOperationNetMinorityInterest",
				"DilutedNIAvailtoComStockholders",
				"BasicEPS",
				"DilutedEPS",
				"BasicAverageShares",
				"DilutedAverageShares",
				"TotalOperatingIncomeAsReported",
				"TotalExpenses",
				"NetIncomeFromContinuingAndDiscontinuedOperation",
				"NormalizedIncome",
				"InterestExpense",
				"NetInterestIncome",
				"EBIT",
				"EBITDA",
				"ReconciledCostOfRevenue",
				"ReconciledDepreciation",
				"NormalizedEBITDA",
				"TaxRateForCalcs",
				"TaxEffectOfUnusualItems",
				"OtherGandA",
				"GeneralAndAdministrativeExpense",
				"NetIncomeCommonStockholders"
			};

			string GetReports() {
				return string.Join(",", Reports.Select(e => Model.Period + e).ToArray());
			}
		]]>
	</RazorFunctions>

</Suite>