<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.21" id="1">
    <property name="createdBy">Eclipse BIRT Designer Version 2.6.1.v20100902 Build &lt;2.6.1.v20100915-1750></property>
    <property name="units">in</property>
    <method name="initialize"><![CDATA[importPackage(Packages.java.math);
importPackage(Packages.java.text);
importPackage(Packages.java.util);
importPackage(Packages.org.apache.ofbiz.base.util);
importPackage(Packages.org.apache.ofbiz.entity.condition);
module = "TasksChart.rptdesign";

productId = params["productId"].value;
]]></method>
    <property name="iconFile">/templates/blank_report.gif</property>
    <property name="layoutPreference">auto layout</property>
    <property name="bidiLayoutOrientation">ltr</property>
    <property name="imageDPI">92</property>
    <parameters>
        <scalar-parameter name="productId" id="13">
            <property name="valueType">static</property>
            <property name="dataType">string</property>
            <property name="distinct">true</property>
            <property name="paramType">simple</property>
            <property name="controlType">text-box</property>
            <structure name="format">
                <property name="category">Unformatted</property>
            </structure>
        </scalar-parameter>
    </parameters>
    <data-sources>
        <script-data-source name="Data Source" id="8"/>
    </data-sources>
    <data-sets>
        <script-data-set name="Data Set" id="14">
            <list-property name="resultSetHints">
                <structure>
                    <property name="position">1</property>
                    <property name="name">TaskName</property>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="position">2</property>
                    <property name="name">TaskValue</property>
                    <property name="dataType">string</property>
                </structure>
            </list-property>
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">TaskName</property>
                </structure>
                <structure>
                    <property name="columnName">TaskValue</property>
                </structure>
            </list-property>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">TaskName</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">2</property>
                        <property name="name">TaskValue</property>
                        <property name="dataType">string</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">Data Source</property>
            <method name="open"><![CDATA[num = 4;

unplannedImpleList = null;
plannedImpleSize = 0;
unplannedErrorList = null;
plannedErrorSize = 0;
unplannedInstallList = null;
plannedInstallSize = 0;
unplannedTestList = null;
plannedTestSize = 0;

errorData = 0;
implementationData = 0;
installationData = 0;
testData = 0;

try{
    var workEffortErrorList = delegator.findByAnd("WorkEffortAndProduct", UtilMisc.toMap("productId", productId,"workEffortTypeId","SCRUM_PROJECT"), null, false);
     // for implementation task
    var unplannedImpleConds = new LinkedList();
    unplannedImpleConds.add(EntityCondition.makeCondition("productId",EntityOperator.EQUALS, productId));
    unplannedImpleConds.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_UNPLAN_BACKLOG"));
    unplannedImpleConds.add(EntityCondition.makeCondition("workEffortTypeId", EntityOperator.EQUALS, "SCRUM_TASK_IMPL"));
    var unplannedImpleList = delegator.findList("UnPlannedBacklogsAndTasks", EntityCondition.makeCondition(unplannedImpleConds), null, null, null, false);
    if (workEffortErrorList !=null) {
        for(j = 0; j < workEffortErrorList.size(); j++){
            var projectId = workEffortErrorList.get(j).getString("workEffortId");
            var plannedImpleConds = new LinkedList();
                plannedImpleConds.add(EntityCondition.makeCondition("projectId",EntityOperator.EQUALS, projectId));
                plannedImpleConds.add(EntityCondition.makeCondition("sprintTypeId", EntityOperator.EQUALS, "SCRUM_SPRINT"));
                plannedImpleConds.add(EntityCondition.makeCondition("taskTypeId", EntityOperator.EQUALS, "SCRUM_TASK_IMPL"));
                plannedImpleConds.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_PROD_BACKLOG"));
                var plannedImpleList = delegator.findList("ProjectSprintBacklogAndTask", EntityCondition.makeCondition(plannedImpleConds), null, null, null, false);
                plannedImpleSize += plannedImpleList.size();
        }
    }
    
    if(unplannedImpleList != null &amp;&amp; plannedImpleSize != 0 ) {
        implementationData = unplannedImpleList.size() + plannedImpleSize;
    } else if (unplannedImpleList != null &amp;&amp; plannedImpleSize == 0) {
        implementationData = unplannedImpleList.size();
    } else if (unplannedImpleList == null &amp;&amp; plannedImpleSize != 0) {
        implementationData = plannedImpleSize;
    } else {
        implementationData = 0;
    }
    
    // for error task
    var unplannedErrorConds = new LinkedList();
    unplannedErrorConds.add(EntityCondition.makeCondition("productId",EntityOperator.EQUALS, productId));
    unplannedErrorConds.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_UNPLAN_BACKLOG"));
    unplannedErrorConds.add(EntityCondition.makeCondition("workEffortTypeId", EntityOperator.EQUALS, "SCRUM_TASK_ERROR"));
    var unplannedErrorList = delegator.findList("UnPlannedBacklogsAndTasks", EntityCondition.makeCondition(unplannedErrorConds), null, null, null, false);
    if (workEffortErrorList !=null) {
        for(i = 0; i < workEffortErrorList.size(); i++){
            var projectId = workEffortErrorList.get(i).getString("workEffortId");
            var plannedErrorConds = new LinkedList();
                plannedErrorConds.add(EntityCondition.makeCondition("projectId",EntityOperator.EQUALS, projectId));
                plannedErrorConds.add(EntityCondition.makeCondition("sprintTypeId", EntityOperator.EQUALS, "SCRUM_SPRINT"));
                plannedErrorConds.add(EntityCondition.makeCondition("taskTypeId", EntityOperator.EQUALS, "SCRUM_TASK_ERROR"));
                plannedErrorConds.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_PROD_BACKLOG"));
                var plannedErrorList = delegator.findList("ProjectSprintBacklogAndTask", EntityCondition.makeCondition(plannedErrorConds), null, null, null, false);
                plannedErrorSize += plannedErrorList.size();
        }
    }
    //Debug.logInfo("-----------unplannedErrorList---------"+unplannedErrorList.size(),module);
    //Debug.logInfo("-----------plannedErrorSize---------"+plannedErrorSize,module);
    if(unplannedErrorList != null &amp;&amp; plannedErrorSize != 0 ) {
        errorData = unplannedErrorList.size() + plannedErrorSize;
    } else if (unplannedErrorList != null &amp;&amp; plannedErrorSize == 0) {
        errorData = unplannedErrorList.size();
    } else if (unplannedErrorList == null &amp;&amp; plannedErrorSize != 0) {
        errorData = plannedErrorSize;
    } else {
        errorData = 0;
    }
    
    // for installation task
    var unplannedInstallConds = new LinkedList();
    unplannedInstallConds.add(EntityCondition.makeCondition("productId",EntityOperator.EQUALS, productId));
    unplannedInstallConds.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_UNPLAN_BACKLOG"));
    unplannedInstallConds.add(EntityCondition.makeCondition("workEffortTypeId", EntityOperator.EQUALS, "SCRUM_TASK_INST"));
    var unplannedInstallList = delegator.findList("UnPlannedBacklogsAndTasks", EntityCondition.makeCondition(unplannedInstallConds), null, null, null, false);
    if (workEffortErrorList !=null) {
        for(i = 0; i < workEffortErrorList.size(); i++){
            var projectId = workEffortErrorList.get(i).getString("workEffortId");
            var plannedInstallConds = new LinkedList();
                plannedInstallConds.add(EntityCondition.makeCondition("projectId",EntityOperator.EQUALS, projectId));
                plannedInstallConds.add(EntityCondition.makeCondition("sprintTypeId", EntityOperator.EQUALS, "SCRUM_SPRINT"));
                plannedInstallConds.add(EntityCondition.makeCondition("taskTypeId", EntityOperator.EQUALS, "SCRUM_TASK_INST"));
                plannedInstallConds.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_PROD_BACKLOG"));
                var plannedInstallList = delegator.findList("ProjectSprintBacklogAndTask", EntityCondition.makeCondition(plannedInstallConds), null, null, null, false);
                plannedInstallSize += plannedInstallList.size();
        }
    }
    if(unplannedInstallList != null &amp;&amp; plannedInstallSize != 0 ) {
        installationData = unplannedInstallList.size() + plannedInstallSize;
    } else if (unplannedInstallList != null &amp;&amp; plannedInstallSize == 0) {
        installationData = unplannedInstallList.size();
    } else if (unplannedInstallList == null &amp;&amp; plannedInstallSize != 0) {
        installationData = plannedInstallSize;
    } else {
        installationData = 0;
    }
    
    // for test task
    var unplannedTestConds = new LinkedList();
    unplannedTestConds.add(EntityCondition.makeCondition("productId",EntityOperator.EQUALS, productId));
    unplannedTestConds.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_UNPLAN_BACKLOG"));
    unplannedTestConds.add(EntityCondition.makeCondition("workEffortTypeId", EntityOperator.EQUALS, "SCRUM_TASK_TEST"));
    var unplannedTestList = delegator.findList("UnPlannedBacklogsAndTasks", EntityCondition.makeCondition(unplannedTestConds), null, null, null, false);
    if (workEffortErrorList !=null) {
        for(j = 0; j < workEffortErrorList.size(); j++){
            var projectId = workEffortErrorList.get(j).getString("workEffortId");
            var plannedTestConds = new LinkedList();
                plannedTestConds.add(EntityCondition.makeCondition("projectId",EntityOperator.EQUALS, projectId));
                plannedTestConds.add(EntityCondition.makeCondition("sprintTypeId", EntityOperator.EQUALS, "SCRUM_SPRINT"));
                plannedTestConds.add(EntityCondition.makeCondition("taskTypeId", EntityOperator.EQUALS, "SCRUM_TASK_TEST"));
                plannedTestConds.add(EntityCondition.makeCondition("custRequestTypeId", EntityOperator.EQUALS, "RF_PROD_BACKLOG"));
                var plannedTestList = delegator.findList("ProjectSprintBacklogAndTask", EntityCondition.makeCondition(plannedTestConds), null, null, null, false);
                plannedTestSize += plannedTestList.size();
        }
    }
    if(unplannedTestList != null &amp;&amp; plannedTestSize != 0) {
        testData = unplannedTestList.size() + plannedTestSize;
    } else if (unplannedTestList != null &amp;&amp; plannedTestSize == 0) {
        testData = unplannedTestList.size();
    } else if (unplannedTestList == null &amp;&amp; plannedTestSize != 0) {
        testData = plannedTestSize;
    } else {
        testData = 0;
    }
    
}catch(e){
        Debug.logError(e, module);
}]]></method>
            <method name="fetch"><![CDATA[if(num==0) return false;
    if(num==1){
        row["TaskValue"] = implementationData;
        row["TaskName"] = "Implementation Task";
    }
    if(num==2){
        row["TaskValue"] = errorData;
        row["TaskName"] = "Error Task";
    }
    if(num==3){
        row["TaskValue"] = installationData;
        row["TaskName"] = "Installation Task";
    }
    if(num==4){
        row["TaskValue"] = testData;
        row["TaskName"] = "Test Task";
    }
num--;
return true;]]></method>
        </script-data-set>
    </data-sets>
    <styles>
        <style name="report" id="4">
            <property name="fontFamily">sans-serif</property>
            <property name="fontSize">10pt</property>
        </style>
        <style name="crosstab-cell" id="5">
            <property name="borderBottomColor">#CCCCCC</property>
            <property name="borderBottomStyle">solid</property>
            <property name="borderBottomWidth">1pt</property>
            <property name="borderLeftColor">#CCCCCC</property>
            <property name="borderLeftStyle">solid</property>
            <property name="borderLeftWidth">1pt</property>
            <property name="borderRightColor">#CCCCCC</property>
            <property name="borderRightStyle">solid</property>
            <property name="borderRightWidth">1pt</property>
            <property name="borderTopColor">#CCCCCC</property>
            <property name="borderTopStyle">solid</property>
            <property name="borderTopWidth">1pt</property>
        </style>
        <style name="crosstab" id="6">
            <property name="borderBottomColor">#CCCCCC</property>
            <property name="borderBottomStyle">solid</property>
            <property name="borderBottomWidth">1pt</property>
            <property name="borderLeftColor">#CCCCCC</property>
            <property name="borderLeftStyle">solid</property>
            <property name="borderLeftWidth">1pt</property>
            <property name="borderRightColor">#CCCCCC</property>
            <property name="borderRightStyle">solid</property>
            <property name="borderRightWidth">1pt</property>
            <property name="borderTopColor">#CCCCCC</property>
            <property name="borderTopStyle">solid</property>
            <property name="borderTopWidth">1pt</property>
        </style>
    </styles>
    <page-setup>
        <simple-master-page name="Simple MasterPage" id="2">
            <page-footer>
                <text id="3">
                    <property name="contentType">html</property>
                </text>
            </page-footer>
        </simple-master-page>
    </page-setup>
    <body>
        <extended-item extensionName="Chart" id="10">
            <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.5.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Anchor>North</Anchor>
      <Stretch>Horizontal</Stretch>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Task By Type</Value>
          <Font>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>432.0</Width>
      <Height>216.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional_With_Depth</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity>
    <Enable>true</Enable>
    <LegendBehavior>None</LegendBehavior>
  </Interactivity>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>false</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>166</Green>
        <Blue>218</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>242</Red>
        <Green>88</Green>
        <Blue>106</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>232</Red>
        <Green>172</Green>
        <Blue>57</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>64</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
        <Grouping>
          <GroupType>Text</GroupType>
        </Grouping>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>166</Green>
          <Blue>218</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>242</Red>
          <Green>88</Green>
          <Blue>106</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>232</Red>
          <Green>172</Green>
          <Blue>57</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>64</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;TaskValue&quot;]</Definition>
          <Grouping>
            <GroupType>Text</GroupType>
            <AggregateExpression>Sum</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <SeriesIdentifier></SeriesIdentifier>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Explosion>0</Explosion>
        <ExplosionExpression>categoryData</ExplosionExpression>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineStyle>Fixed_Length</LeaderLineStyle>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
      <Grouping>
        <GroupType>Text</GroupType>
        <AggregateExpression>Sum</AggregateExpression>
      </Grouping>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>row[&quot;TaskName&quot;]</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
            <property name="outputFormat">SVG</property>
            <property name="inheritColumns">false</property>
            <property name="height">3in</property>
            <property name="width">6in</property>
            <structure name="toc"/>
            <property name="dataSet">Data Set</property>
            <list-property name="boundDataColumns">
                <structure>
                    <property name="name">TaskName</property>
                    <expression name="expression" type="javascript">dataSetRow["TaskName"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">TaskValue</property>
                    <expression name="expression" type="javascript">dataSetRow["TaskValue"]</expression>
                    <property name="dataType">string</property>
                </structure>
            </list-property>
        </extended-item>
    </body>
</report>
