diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs215/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs215/src/app.component.ts
index 68d6fdcd32c..90fbf949cd9 100644
--- a/ej2-angular/code-snippet/pivot-grid/getting-started-cs215/src/app.component.ts
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs215/src/app.component.ts
@@ -1,6 +1,6 @@
import { NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
-import { PivotViewAllModule, PivotFieldListAllModule } from '@syncfusion/ej2-angular-pivotview'
+import { PivotViewAllModule, PivotFieldListAllModule, PDFExportService } from '@syncfusion/ej2-angular-pivotview'
@@ -18,8 +18,7 @@ imports: [
PivotViewAllModule,
PivotFieldListAllModule
],
-
-
+providers: [PDFExportService],
standalone: true,
selector: 'app-container',
template: `
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs217/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs217/src/app.component.ts
index 5a6904f593f..473a0666e94 100644
--- a/ej2-angular/code-snippet/pivot-grid/getting-started-cs217/src/app.component.ts
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs217/src/app.component.ts
@@ -1,9 +1,6 @@
import { NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
-import { PivotViewAllModule, PivotFieldListAllModule } from '@syncfusion/ej2-angular-pivotview'
-
-
-
+import { PivotViewAllModule, PivotFieldListAllModule, PDFExportService } from '@syncfusion/ej2-angular-pivotview'
import { Component, OnInit, ViewChild } from '@angular/core';
import { IDataSet, PivotView } from '@syncfusion/ej2-angular-pivotview';
import { Button } from '@syncfusion/ej2-buttons';
@@ -11,28 +8,27 @@ import { Pivot_Data } from './datasource';
import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model';
@Component({
-imports: [
-
+ imports: [
PivotViewAllModule,
PivotFieldListAllModule
],
-
-
-standalone: true,
- selector: 'app-container',
- template: `
+ providers: [PDFExportService],
+ standalone: true,
+ selector: 'app-container',
+ template: `
Export
`
})
export class AppComponent implements OnInit {
- public width?: string;
- public dataSourceSettings?: DataSourceSettingsModel;
- public button?: Button;
+ public width?: string;
+ public dataSourceSettings?: DataSourceSettingsModel;
+ public button?: Button;
- @ViewChild('pivotview', {static: false})
+ @ViewChild('pivotview', { static: false })
public pivotGridObj?: PivotView;
beforeExport(args: any) {
+ debugger
args.allowRepeatHeader = false;
}
@@ -55,10 +51,7 @@ export class AppComponent implements OnInit {
this.button.appendTo('#export');
this.button.element.onclick = (): void => {
- this.pivotGridObj?.pdfExportModule.exportToPDF();
+ this.pivotGridObj?.pdfExport();
};
}
}
-
-
-
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs218/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs218/src/app.component.ts
index 13650fd56d6..591a4d44c01 100644
--- a/ej2-angular/code-snippet/pivot-grid/getting-started-cs218/src/app.component.ts
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs218/src/app.component.ts
@@ -1,36 +1,30 @@
import { NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
import { PivotViewAllModule, PivotFieldListAllModule } from '@syncfusion/ej2-angular-pivotview'
-
-
-
import { Component, OnInit, ViewChild } from '@angular/core';
-import { IDataSet, PivotView, VirtualScrollService } from '@syncfusion/ej2-angular-pivotview';
+import { IDataSet, PivotView, VirtualScrollService, PDFExportService } from '@syncfusion/ej2-angular-pivotview';
import { Button } from '@syncfusion/ej2-buttons';
import { Pivot_Data } from './datasource';
import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model';
@Component({
-imports: [
-
+ imports: [
PivotViewAllModule,
PivotFieldListAllModule
],
-
-
-standalone: true,
- selector: 'app-container',
- providers: [VirtualScrollService],
- template: `
-
+ standalone: true,
+ selector: 'app-container',
+ providers: [VirtualScrollService, PDFExportService],
+ template: `
+
Export
`
})
export class AppComponent implements OnInit {
- public width?: string;
- public dataSourceSettings?: DataSourceSettingsModel;
- public button?: Button;
+ public width?: string;
+ public dataSourceSettings?: DataSourceSettingsModel;
+ public button?: Button;
- @ViewChild('pivotview', {static: false})
+ @ViewChild('pivotview', { static: false })
public pivotGridObj?: PivotView;
ngOnInit(): void {
@@ -55,5 +49,3 @@ export class AppComponent implements OnInit {
}
}
-
-
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs219/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs219/src/app.component.ts
index 4753ce40c60..e5d0694030e 100644
--- a/ej2-angular/code-snippet/pivot-grid/getting-started-cs219/src/app.component.ts
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs219/src/app.component.ts
@@ -1,6 +1,6 @@
import { NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
-import { PivotViewAllModule, PivotFieldListAllModule } from '@syncfusion/ej2-angular-pivotview'
+import { PivotViewAllModule, PivotFieldListAllModule, PDFExportService } from '@syncfusion/ej2-angular-pivotview'
import { Component, OnInit, ViewChild } from '@angular/core';
import { IDataSet, PivotView } from '@syncfusion/ej2-angular-pivotview';
import { GridSettings } from '@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings';
@@ -14,6 +14,7 @@ import { Button } from '@syncfusion/ej2-buttons';
PivotViewAllModule,
PivotFieldListAllModule
],
+ providers: [PDFExportService],
standalone: true,
selector: 'app-container',
// specifies the template string for the pivot table component
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs220/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs220/src/app.component.ts
index d47dff5a7ea..d35bbc780ed 100644
--- a/ej2-angular/code-snippet/pivot-grid/getting-started-cs220/src/app.component.ts
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs220/src/app.component.ts
@@ -1,6 +1,6 @@
import { NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
-import { PivotViewAllModule, PivotFieldListAllModule } from '@syncfusion/ej2-angular-pivotview'
+import { PivotViewAllModule, PivotFieldListAllModule, PDFExportService } from '@syncfusion/ej2-angular-pivotview'
import { Component, OnInit, ViewChild } from '@angular/core';
import { IDataSet, PivotView } from '@syncfusion/ej2-angular-pivotview';
import { GridSettings } from '@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings';
@@ -15,6 +15,7 @@ import { Button } from '@syncfusion/ej2-buttons';
PivotFieldListAllModule
],
standalone: true,
+ providers: [PDFExportService],
selector: 'app-container',
// specifies the template string for the pivot table component
template: `
+ standalone: true,
+ selector: 'app-container',
+ providers: [PDFExportService, VirtualScrollService],
+ template: `
+ enableVirtualization='true' [width]=width [gridSettings]='gridSettings'>
Export
`
})
export class AppComponent implements OnInit {
public width?: string;
public dataSourceSettings?: DataSourceSettingsModel;
public button?: Button;
+ public gridSettings?: GridSettings;
+ public observable = new Observable();
- @ViewChild('pivotview', {static: false})
+ @ViewChild('pivotview', { static: false })
public pivotGridObj?: PivotView;
- onPdfCellRender(args: any) {
- if (args.pivotCell && args.pivotCell.valueSort && args.pivotCell.valueSort.levelName === 'FY 2015.Units Sold') {
- args.column.width = 60
- }
- }
-
ngOnInit(): void {
this.dataSourceSettings = {
@@ -50,16 +44,24 @@ export class AppComponent implements OnInit {
filters: [],
};
+ this.gridSettings = {
+ columnWidth: 140,
+ pdfHeaderQueryCellInfo: this.observable.subscribe((args: any) => {
+ if (args.gridCell && args.gridCell.valueSort && args.gridCell.valueSort.levelName === 'FY 2015.Units Sold'
+ && args.cell && args.cell.row && args.cell.row.pdfGrid && args.cell.row.pdfGrid.gridColumns
+ && args.cell.row.pdfGrid.gridColumns.columns[args.gridCell.colIndex]) {
+ args.cell.row.pdfGrid.gridColumns.columns[args.gridCell.colIndex].width = 250;
+ }
+ }) as any,
+ } as GridSettings;
+
this.width = '100%';
this.button = new Button({ isPrimary: true });
this.button.appendTo('#export');
this.button.element.onclick = (): void => {
- this.pivotGridObj?.pdfExport({},false,undefined,false,true);
+ this.pivotGridObj?.pdfExport();
};
}
}
-
-
-
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs320/src/datasource.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs320/src/datasource.ts
index 5a2203726bf..7fe85f598fa 100644
--- a/ej2-angular/code-snippet/pivot-grid/getting-started-cs320/src/datasource.ts
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs320/src/datasource.ts
@@ -1,4 +1,3 @@
-export let base64AlgeriaFont: string = 'AAEAAAANAIAAAwBQRFNJRw5vA/AAARCkAAAaiE9TLzJ+va6FAAABWAAAAFZjbWFwFYe4UAAABOAAAAPwY3Z0IATgBbcAAAjoAAAAGGdseWYoEpX/AAAKnAABAGZoZWFk2bZlDQAAANwAAAA2aGhlYQ9pBYwAAAEUAAAAJGhtdHh/0E9NAAABsAAAAzBsb2NhsYtxygAACQAAAAGabWF4cAE7BAQAAAE4AAAAIG5hbWXEWzljAAELBAAAAuBwb3N0Dc7T1wABDeQAAALAcHJlcFZfZ/kAAAjQAAAAGAABAAAAAZHsZYevKF8PPPUACwgAAAAAAKe9Hz4AAAAAzDhp3f5+/e0IIwcbAAAACQACAAAAAAAAAAEAAAcb/jYBqggO/n7+ewgjAAEAAAAAAAAAAAAAAAAAAADMAAEAAADMAOYADgDAAAgAAgAEAAAAAAAAAFICWwACAAEAAQRWAZAAAgAIAAADMwAAAAAAAAMzAAADtgB1AiYAAAQCBwUECgIGBwIAAAADAAAAAAAAAAAAAAAAVVJXIABAACAlygcb/jYBqgcbAcogAAABAAAAAAAAAgAAMwAAAAACAAAAAgAAAAKWADcCtABEBLEAPwSxACEFAgAiBmoAiAGKAEQDjgCCA44AlgLNACkEsgCZAhgAIgKDAAACIgBjA9j/0ASyADUEzQDlBM0AdgTNAGcEzQA3BM0ARQTNAFQEzQB5BM0ARwTNAGQCIgBiAhgAIgQAAFUEsgCZBAAAVQN5ACIFwwAwBg4AAAUsAA4EqAAwBNUAKQT5AAAEaQAABXQAMAUGAAcCcgApBBv/1wVqACkEYQApBdr/3gTO/+wE/gAwBLsABwUgADAFFQAiBHD/7ASh/9AE3AAiBPX/0AZS/8MFlf/QBSL/0AUgACIDgADNBCL/kgOAAJYEAP/IBAAAIQQAALoDhQBEBAABtAOFAJYFVQEJBg4AAAYOAAAEvQAwBPkAAATO/+wE/gAwBNwAIgS0AEQCbQA1BLEAzATN/+wEXgApBVUBkQUVADAGRQBEBkUARAcBAEQEAAG9BAAAyAQAACEIDv/eBQAALwVVAAYEsgCZBAAAVQQAAFUEzf+oA7D/9wQAADkFVQBiBVX/8QQA/8YEAf/aAyAAMAM9ADAFVf/AA3kAIgJ7ADcEAABDBVUAIgTN/n4EAAAzBVX/+wJrACICcgAuBmYAYwYOAAAGDgAABP4AMAefADAEHAAABbYAAANPACIDSQAiAcMAIgHDACIEsgCZBVUAlwUi/9AA/v7LBLL//QGbACIBpwAuBLQARAFuAAACGAAiA0kAIgeDACIGDgAABPkAAAYOAAAE+QAABPkAAAJyACkCcgAmAnMADwJy//ME/gAwBP4AMAT+ADAE3AAiBNwAIgTcACIEAADRBAAAtwQAAGIEAAC8BAABdQQAAUYEAAEzBAABAAQAATAEAAD8BHD/7AQAAbQE1QASBSL/0ASgAAcEsgDEAu8AnQLvAD8C7wA6BtwAnQbcAJ0G3AA6Bg4B3QYOAsQGDgHBBg4B9AYOAb4GDgJNBPkBRQT5AXoE+QDyBPkBaQJzAA8CcgD2AnL/8wJyACYEzgEdBP4BRwT+AjwE/gE5BP4BbAT+ATUEcAE0BNwBbQTcAmEE3AFeBNwBkQUiAk0EsgBHAAAAAgABAAAAAAAUAAMAAQAAARoAAAEGAAABAAAAAAAAAAEDAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD1ERUZHAEhJSktMTU6OdoxId0lKS5CNj5GUkpNMlZeWTXiYmplOT1BRUlNUVQBWV1hZWltcXV5fYGFiY2RlZmdoaWprXF1sbW5vcHFyc3R1AHZ3eHl5ent8fX5/gIEAgoOEhYYAAIeIiYqLjI2Oj5CRkpOUlZYAl5iZmgCbnJ2en6ChoqOkAAQC1gAAAEgAQAAFAAgAfgCuALYA3gD/AVMBYQF4AZICxwLJAt0DwCAUIBogHiAiICYgMCA6IKwhIiEmIgIiBiIPIhEiFSIaIh4iKyJIImAiZSXK//8AAAAgAKAAsAC4AOABUgFgAXgBkgLGAskC2APAIBMgGCAcICAgJiAwIDkgrCEiISYiAiIGIg8iESIVIhkiHiIrIkgiYCJkJcr//wAAAAAAAAAAAAAAAAAA/wr+3gAA/dQAAPyn4GcAAAAAAADgT+Bb4Ezf2N8230XeYt5s3lfeVN5uAADeQN493ind+9382rcAAQBIAQQBIAEsAXgBtgG4AAAAAAG2AAABtgAAAAABvAHAAcQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbIAAAAAAAAAAAAAAAAAAAADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AEQARQBGAEcAAwBtAFEAUgDLAGIApgBTAFoAVwBpAHMAbgB6AFYAUABfAKwArQBZAGMAVQChAKsAagB0AK8ArgCwAGwAdgCOAIwAdwBIAEkAXABKAJAASwCNAI8AlACRAJIAkwCnAEwAlwCVAJYAeABNAKoAXQCaAJgAmQBOAKgAqQB2AI4AjAB3AEgASQBcAEoAkABLAI0AjwCUAJEAkgCTAKcATACXAJUAlgB4AE0AgABdAJoAmACZAE4AqACpAIIAeQB5AKUApQCbAKQAngCfAKAAowCcAKIAfgB/AIkAfAB9AIoATwCHAFQAiABvQAoDAwICAQEAAAAwuAEkhR0TAD8/Pz8BAAAFVQOF/gAAGABVAEkAcgAbAMYA3gDVAAAAJQAlACUAJQDHAVECoQSABcwHKQdlCA4IeAlGCd8KOgp4Cs0LCwu6DGoNhQ7rEBwRWRJ6E1EUtxWUFioWyxb/F38Xshi5GioboRzpHcQeih/SIPwiViN3I/AkwSWpJkMnRig0KNsp+ysgLHItsy6eL3MwFjEFMdoyozNgM9o0GDSANKw0yzUONiI2QTdIN5A3mzemOQ85GjklOTA5OzopOqg71z1uPvE/IEAcQfhDQUT5RTxFvkYgSBNJGUmYSlpKp0rzTENM001GTaROWk7rT4BQs1GHUhdTGFPMU/lUOVV3VfBWLla5V0lYLFg3WEJYTVnhWh9aXVsqW+FcSVyoXXVdt17/X0Bf/GBRYKdiA2JYYrNjcGU9ZUhlU2VeZWlldGV/ZYpllWWgZatltmXBZcxl12XiZkdm2WcmZ3pnxWhBaQdpeWoGalVqYGqRa6Rrr2zpbXRuI28ncGpyMnQOdn12/nc3d3B3y3hUeL15J3lceZF52XpaepN6zHsne7B8MXxqfKN8/n2HfcF+Nn5rfqB+6H8hgDMAAAACADMAAAHNBVUAAwAHACNAEAUGAgEEBwMABQQCAwYHAQAvPNw8LzzcPAAvPNw8LzzcPDMRIREnESERMwGaM/7MBVX6qzME7/sRAAQAN//yAmAFOgAPAB0AKQA5AI5AEjkyMSwqJxwbGRYVEA0KCQgDAC4uLi4vLi4uLi4uLi8uLy4uLkAKAAA3CCwhCicwGR8eEO0Q7R8eALEJCC88sRYVLzxADgEBHBsZEA0DAAcBAAIAExEUEhc5ExRADSQBATkyMSokBQIAAAATERQSFzkTFC+xLwA/QAkAADQELx4kMBkfHhDNEO0fHjEwAR4BFwcGAg8BIzU0Aic+AQUHBgIPASM0EjcmJxcWAzIWFRQGIyImNTQ2FxYVFAYjIic3FjMyNjU0JwEYG1RaC15MCQEhcVlhWQFvDHhkDgEdfWaxKCBJpTZMTDY1TEzZN2VDUTIHQDQ/WSgFOm5vKhGT/vjVDxSzAW1rK2OOD5v+4+cLuQF6fWdxD278skw2NUxMNTZMKjNNRGY8ByZXPDk6AAQARAN2AnAFVQADAAkADQATALqwCC+xMBkfHrEACBDcsQ0IENyyBQkAEPyxDw0Q3LEDBRDcsgoJDxD8sRIKEN2xAAAfHrICBQMREjm1BgQBAwAFERIXObMJBwgAERI5ObIMDw0REjm1EA4LAwoPERIXObMTERIKERI5OQC0EA8GBQMXLzy0DAsCAQMXLzyxMBkfHrYOEwQJBgMBEBf8PLIRBwEQ3Ty2EA8GBQYDARAX/jy1Cg0AAwMHEBfcPLEAAB8esxIIBwEREjk5MTATAyMDEyczExcDAQMjAxMnMxMXA/RDTx5fI2BOF04BJ0NPHl8jYE4YTgVV/m0Bk/4hFAGiDP5WAd/+bQGT/iEUAaIM/lYAAAQAPwAABHMFVQA7AD8ARQBPAbCxEhEvPLEaGS88sTg3LzyxLCsvPLQ0MzIxKxDAwMDAsw4NGREREjk5QDtFRENCQUA/Pj08Ozo5NjUwLy4tKikoJyYlJCMiISAfHh0cGxgXFhUUExAPDAsKCQgHBgUEAwIBADg3GRESFzlACk9OTUxLSklIR0YuLi4uLi4uLi4uAEAVAAABSQRIBAAlJB0cAAUEBAQAADAZHx4TEO3tEM3Nzc0Q7e0THx6xAwIvPLQ7OgsKAxcvPLQPDgcGAxcvPEALQ0I/Pjc2Ly4TEgkXLzxAC0NCPz43Ni8uExIJFy88QAtDQj8+NzYvLhMSCRcvPLZFRDEwFxYFFy88QAsrKicmIyIfHhsaCRcvPEALKyonJiMiHx4bGgkXLzxACysqJyYjIh8eGxoJFy88sUZHLzyxS0ovPLEwGR8eQAk5OBEQCQgFBRIQF/08QAlAQS0sGRgFBRoQF/08QAk8PTU0FRQEBRYQF/08tgANDAEEAwYQF/08s09OBEoQ/TyxAAAfHrQBMwIAGBEUEjkUtAEyGgIAExESORO2KSghIAQcGhESFzm1AU1MAgBKERQSOTkUMTABIwMjJzMTMzcjAyMTIyczNyM1ITcjJzM3IzUzEzMDMxMXAzMTMwMzExcDMxUjBzM3MycfASMHMxUjAyMTIwczNyMHMzczEyMnMxMzJx8BIwKIh0KCE3xDowjeQoI2xQrTCPUBARLFCtMH7vo9gz06Nxo1hj2APTs3GjWK7R06FvEDFALsEofpQn9fhxKIHd0eOhajZ4ITfEPxAxQC7AHW/ioXAds5/icBhBw5U30cOVYBr/5RAYUI/oMBr/5RAYUI/oNW0pl8FoJ9U/4nAql90tKZ/OkXAdt8FoIAAAYAIf9MBJAGCQBfAHYAiQCVAKkAsQG+tHeEg3gDFy88QAtSUUhHPj0vLh4dCRcvPEALUlFIRz49Ly4eHQkXLzyxYHYvPLRZWBEQAxcvPLGenS88sTAZHx63VFMcGwcGBR0QF908s3FwCHYQ/TyyamkdEN08tldWCQgIAxAQF/08s6KhCJ0Q/TyxAAAfHkANgH59TkNCOjk2NScmeBDAwMDAwMDAwMTAwMSyoJ+hEMDAQAp0c18WDQwEAwAQEMDAwMDAxMDAwLOpmJadEMDEwLexrq2qlZCPii4uLi4uLi4uQBAAAKcImIcJTnsIgGMJFjAZHx4Q7RDtEO0Q7R8eALEdHC88sTo5LzyxU1IvPLGfni88sTAZHx6zoaAEnhD9PLEAAB8eQBkzKRkBdHNwamA9NjUzLy4pJyYeGxkROQAAExESFzkTLy8vQBEBd3ZxaUhHQ0I+EQgHDAIAOREUEhc5FEAXAQGVkI+KhIN+fXgQDQwJBgQDEAEAAgATERQSFzkTFEANAV9ZWFdWVFEACFIBABMREhc5E7QBnQAAoBEUEjkUQA4BAbGuraqpopYHAgAAABMRFBIXORMUsV0BP0AKAABsBhkkBCkwGR8eEO0Q7R8eMTABBg8BJyYnERcRHgEXIycmJxEXFhcWFRQGIyInFSM1JyYvASYjIgcnNjMyFxYfATUmJyYjIgcnNzY3Mx4BFxEnLgEnFxYfAjUnJicuATU0NjM1MxUWFzUXFRYXFjMyNwE+ATU0Jy4BLwERMjMyNzIzERYXIyYnAxEOARUUFxUmNTQ2MzUiBhUUFwEHBg8CJzY/ATY3AxYVFAIPAhUjJzM1Mjc+ATU0JwEeARcVLgEnBAdxMQIGJ8U8NSweCQc2HxCnQnv3swkXURBPKl0/QTY0DTc1Rao9OA1LqkszPkYICXMyEBOohhXGaxglHpR4DxTOSTZC4sFRIhoaF2YzJTUu/sZjbT4nVGANBwQDJAQHnyUHPWemRlNriGtLZJDnAjUJQisnBRgIASs4NSeJ7aksCW4Wa1JifZZs/ToSU2BZew0FYLOVCQHbOf5IEAGHGSgzBzIQ/pwFMDdoqKTkArlsAxALFw8WHxUqDgsDOQksFCcQDr6UjKoPAaoGMzlCFDglHgQ2BCs3Ko9NqMaHjQYHdxNkBRoNJPs7FXRVVkctLBoE/goEAakjZEoZAVgBYQZTQFlDBzptSGg2e1ahPQG1EHJcVQwJEQJefFT9oGS2o/76FwYCtBu1KTTVfqBw/uhhbDYFFYxgAAAKACL/2ATmBX0AAwAJABoAJgAvAEAAUgBeAGcAeAFAQCRycWxpaFxWUk1KSUdFQTo5NDEwJB4aFRIRCgkIBwYFBAMCAQAuLi4uLi4uLi4uLi4uLy4vLy4uLy4uLi4uLi4vLi8vLi4vLi5AHAAAdwhsZglWYglcRghNPwg0LgkeKgkkDwgVMBkfHhDtEO0Q7RDtEO0Q7RDtEO0fHgCxAgEvPLEAAy88sQcGLzyxOjkvPLEwMS88sXJxLzyxaGkvPLEwGR8eswkIBAYQ/TyxAAAfHrUBEhECAAgRFBI5ORRADRgBARoYCgUEBQEAAgATERQSFzkTFC9AClMhAQFTIQIAAAATERQSOTkTFC8vQBFQPDcBUlBKSUdFQTw3CTkAABMREhc5Ey8vL7d0AG8AWQAbAT8/Pz9AFgAAZAZZXwVTQwRQLAYhJwUbDAQYMBkfHhDtEO0Q7RDtEO0Q7R8eMTAJASMBHwEBIyczEyYjIgYVFBcjLgE1NDYzMhcnMhYVFAYjIiY1NDYXIgYVEDMyERA3Mx4BFRQGIyInMxYzMjY1NAEmIyIVBxcWFyMuATU0NjMyFycyFhUUBiMiJjU0NhciBhUQMzIREDczHgEVFAYjIiczFjMyNjU0A/n9NFcCyYEQ/S9gEGMjGhozJkMNLSMuPigbWXWThnl9jo13Rz6MgiwPRk6XdzEjDxsZcZUBeRsaVQQDCzUMLyIuPigbWXSUhXp8j413Rz6MgiwPRk6WeDIiDxkdcZQFU/r2BQoXHPreGwTJFFdyuEcjb3B+Xiqbx5+crLukmLdReoz+7wELAQwhLqdoocsYCcWWvP1LFG59MnQ3Jmxwf10qnMidnay7pJi3UXmN/u8BCgENIS6naKHLGAnElrsABQCIAAEF1AWAAEYAXgB6AIoAlgESQC2WkZCLioiEg357dHNvbWhfXVVSUE1MR0M+PDg3My4lIyAeHBoYFhAODAoIAgAuLy8uLi4uLi8uLi8uLi4vLi4uLi4vLi4uLy4uLi4uLi8uLi4uLi4uLi4uLi5AFgAAeQhvZgkCYQkIWAtDSQhQEwgYMBkfHhDtEO0Q7RDtEO0Q7R8eAEAuhoFAMSwBAZaRkIuKiIaEg4F+e11VUk1MR0A+PDg3MzEsJSMgHBoQDgwiAgAAABMRFBIXORMULy8vLy9AEXEBAXRzcW1oXxYKAAkBAAIAExEUEhc5ExQvtY4ANQAFAT8/P0AWAACTBI53BHFkBgVbBUA6BDUnBzEwGR8eEO0Q7RDtEO0Q7RDtHx4xMAEmNTQ2MzIWFRQFEhc2NyYnNzY1NC8BFhUUBxYXNjU0JxcWFwYHFjMyPwE2MzIVFAYjIicGIyInNxYzMjcmJwYjIiQ1NDY3FwYVFBYXFS4BNTQ3JyYnDgEVFBYzMjcmEzY1NCYjIhUUFzY/ATY3JjU0MzIXBycmIyIVFAEGDwEXFjMyNxUGIyInNjcTDgEjIic1FjMyPwECMRuGbmaP/u9qdRAJaEMO7zAIUPJGRwQJCoZ3eF91biseEg4MIoRBZXWP38+TBqG70YUUEZG31f7xwtVHtGhfZH3DBQcGc4CieohvgjhsSzhwOwcDGgMLMVAgJAcIGxc+AjhyLQMIVUcPFRocXU1JXsYVd0JdQkJGfkoEA6BiVoaihl7AVv7xqSEqn6gGYcNGTg1Gar5vpm0wL0owBmcreailGRALHCpTS5uGCXSRDg9w57WayEOcZL1nkR0NDpxu0HUNEREuwHyEsHayAiI4dD9Ug2h2BAEKAQV0RGQhCgUQUkf94XdYCAliBggPfIdf/lZAWDgIJ4EHAAACAEQDdwFFBVcAAwAJAEZACgkIBwYFBAMCAQAuLi4uLi4uLi4uALEAAy88sQQJLzyxBgUvPLEwGR8esgIBAxDdPLEAAB8etQEIBwEABREUEjk5FDEwEwMjAxMnMxMXA/RDTx5fI2BOF04FV/5tAZP+IBQBogv+VQACAIL/QQL5BgcAKwA3AKO0GhkODQMXLzyxAgEvPLEsLS88sTAZHx6zACsIARD9PLM3NggtEP08sQAAHx6zJiMTDRDEwMSyMTA2EMDAQAoAAB8LEwkIJjAZHx4Q7RDtHx4AQAkBKxoZAgEAAQATEMDAwMDAwBNADgEBNzYwLSwODQcAAAMAExEUEhc5ExS3AQExIwIAAAATERQSOTkTFLEqAT+2AAAEBCowGR8eEO0fHjEwARcVJiMiBw4BFRAXFhcVIicmAhE0Ejc+ATcVBgcOARUQFxYXJgIREDc2OwETFS4BJzUWHwEyFzUC4BkfDmZCPS1XI3m8lndiT11Iqo2TVjsuSh82MileUXsXGYLdQHq9PQMPBeQYdQJNRtjb/d2mQhNZhGoBQgEc5gEda1JPEFsQX0Lp6/40nUQ1XAFXAT8BT35t+kBwD2NKBXscCQNpAAIAlv9BAw0GBwASACAAVbQAEgkIAxcvPLEECBDEtCAaGRYTLi8uLi5ACgAAHQgWDwoEMBkfHhDtEO0fHgCxEyAvPLQBEgABABMQwMATQAsBARoZCQgEAAADABMRFBIXORMUMTATFhcWERAHBgc1PgE3NhIREAInJRYSERAABSckABEQAieWl4f63IS4Wl0kMyuMrQFNnI7+7/7cEQEmAQV7pQYHCWCy/hn9yL9zFF8fTkppAUsBIQEdAQAfCmD+q/7q/lL+OTcTNgG0AbQBDwEviAAAAgApAy0CqwV3ADgASgC7QCZHRkVEQD49PDs5NzU0Mi4tKykoJiQiIR8dHBgWEhENCwoIBgQDAC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi8uLi4uLi4uLi4uALEiIS88QA0BAT08NQoEAwYCAAAAExEUEhc5ExRALEIwGhQBAUdGRURCQD47OTQyMC4tKykoJiQfHRwaGBYUEhENCwgGACEBAAIAExEUEhc5ExQvLy8vQAoAAEkEQg8EFDAZHx4Q7RDtHx4xMAEGDwEnNjcmJwYVJzY3JiMiByc2MzIXNjcmIyIHNxYXNCczBhU2NzY3FwYHNjcXJiMiBxYXBzY1NDcWFwcnNyYnNjMyFycfASYjIgFqNgoBFQlCCQtZk09QLhsbLR8lEjZIDwxQSS4uODeUPrVBGBwTLAciHGEyOCwwQ1VUapMBRlBhriClX2JBRDErMBwwMDQyBAlFiA8ah00OD3praxVaAwUVBRISERoMrFUyj19RmggLaD8mNUgvPqwRG3QoawwHRH9LHIsDgB1gGw2lELIPAAIAmQDmBBkEfQATAB0A0bESES88tgATEA8MCwUXLzyxBgUvPLEIBy88sRQVLzyxHRwvPLEwGR8eswQDCAUQ/Ty2CgkCAQkDCxAX/TyzGRgIFRD9PLMbGggcEP08sQAAHx6yFxYYEMDAsw4NCxEREjk5ALELCi88sQ8OLzy2ExIHBgMCBRcvPLEAAS88sRYVLzyxGhkvPLEwGR8ethEQCQgHAwIQF/08sw0MBA4Q/TyzGBcEFRD9PLMUHQQZEP08sQAAHx61AQUEAQIAExESOTkTtQEcGwIAGREUEjk5FDEwATMRMxEXESEVIREjNSEnITUhNSEXESMnMxEhNRcVAfF9NhwBCP6mff7bEgE3/qgBWM+CFnwBXhcEff6cASwR/uV9/rL8HDZ9z/6cFwFpfBaCAAIAIv8JAagBMAANABoAV0AKGhMSEA4KBQQCAC4vLi4uLi8uLi5ACgAAGAgQCAkCMBkfHhDtEO0fHgBACwEBExIFBAQAAAMAExEUEhc5ExRACwEBGg4KAAQCAAAAExEUEhc5ExQxMAEWFRQFJzc2NTQnNjc2NxYVEAUnNzY3NjU0JwE0Hv7YCApnNQwHbbkR/rUNEalBQhIBMEZD+WAOCVV5Vj8EAygbPjH+5X8cBkNiZGgzUAAAAgAAAkYCgwMEAAMACQBKQAoJCAcGBQQDAgEALi4uLi4uLi4uLgCxAAMvPLEHBi88sTAZHx6zAgEHAxD9PLMEBQQGEP08sQAAHx61AQkIAgAGERQSOTkUMTABFyEnBSEnIScXAfMr/gwqAoP96BYCCC4gAwR2dr4ciRcAAAIAY//yAb8BRgALABsAU7UbFBMODAkvLi8uLi5ACgAAGQgOAwoJMBkfHhDtEO0fHgBADQYBARsUEwwGBQIAAAATERQSFzkTFC+xEQA/QAkAABYEEQAGMBkfHhDNEO0fHjEwEzIWFRQGIyImNTQ2FxYVFAYjIic3FjMyNjU0J+Q2TEw2NUxM2TdlQ1EyB0A0P1koAUZMNjVMTDU2TCozTURmPAcmVzw5OgAAAv/Q/0gERwYAAAMACQBFQAoJCAcGBQQDAgEALi4uLi4uLi4uLgCxAgEvPLEAAy88sQkILzyxMBkfHrMEBQQIEP08sQAAHx60AQcGAQATEMDAEzEwCQEjCQEzARcBIwQF/CleA9f8O2oD6RL8FG4GAPmeBmL5YwaAFfl6AAQANf/sBHwFaQASAB8AKQA9AJBADD01NC0qHRcSDQkIAC4uLi8uLy8uLy4uLkAQAAA6CC0nCRcjCR0FCA0wGR8eEO0Q7RDtEO0fHgBADRoBATU0GgkIBQIAAAATERQSFzkTFC9ADRABAT0qEhAABQEAAgATERQSFzkTFC+zMQATAT8/QBAAADcEMSUFGiAFEwIEEDAZHx4Q7RDtEO0Q7R8eMTABJiMiBhEUFhcVJicmERA2MzIXAzIXFhEQACMiABEQABciAhEQISAREAI3FhIVEAcGIyImJzcWMzIAETQCJwMDTHl7b2JrSkFcfYyDTOi+jLT+9uXp/uUBEt+ejgFEASKQa5ipt5TeZpdYCZKt/QEcj5UEX2P1/vDu/iYKDE5xAWIBF/l2AQGRuP6a/tn+qgFyATEBJgFjXf7v/tL9wgI7ATkBCTVD/rHq/ni6lz1NB3gBbgFG7wE4WAAAAgDlAAADnQVBACEAKQDetA8OBQQDFy88sSQjLzyxMBkfHrMAAQkEEP08syIpCCMQ/TyxAAAfHrUYFAoJAwQQwMDAxMSyJyYpEMDAsQIBEMCyKCUjEMDAsiEBBBESObUAABwUMBkfHhDNHx4AQAsAAAEoBCcEAAAwGR8eExDt7RMfHrEDAi88sQAhLzyxJiUvPLUBBAECAAIRFBI5ORRAEBYRBwEWEQ8OCgkHBQghAgATERIXORMvLy+1ASkkAgAnERQSOTkUtwEBIyIBAAIAExEUEjk5ExRACgAAHgYRDAQHMBkfHhDtEO0fHjEwAREXITcRBiMiJzMWMzI3NQYjIiY1NDc2FRQHBhUWMzI2Nx8BERchJyEnAq96/lF/OjtcMgg9R0M0RFsyQy8qAgEBGkKAIKkbof4AFgHcggVB+3loaANwHksyIz4yLiIyAgIoBwcFAhBmThIN+5i6G5cAAAQAdgAABGUFXwA9AEMAVABhARixAAEvPLE+Py88sTAZHx6zQ0IIPxD9PLEAAB8eQA09OjkyMSkoIRsVFAIBEMDAwMTEwMDAwMDAwLJBQEIQwMCxNAEQxLdhW1pVT0xLRC4uLi8uLi4uQBAAAEkITy8INA8JGwkJITAZHx4Q7RDtEO0Q7R8eAEALAAABQgRBBAAAMBkfHhMQ7e0THx6xAgEvPLEAPS88sUA/LzyxPkMvPLEwGR8etjo5KSgHAwEQF/08sQAAHx61GAEYAgA9ERQSORQvQBJSAQFhVVJMS0QyMRUUCgEAAgATERQSFzkTFC9AC1gBAVtaWAMCAAAAExEUEhc5ExQvsR4BP0AQAABfBFhGBFISBxgMBR4wGR8eEO0Q7RDtEO0fHjEwAREhPgE3Njc2NTQmIyIGFRQWMzI3Fw4BIyImNTQ2MzIEFRQFBwYHBgczNj8BPgE1NCc3FhUQBQcGByEyNjcXESEnIREBJiMiBhUUFxUuATU0NjMyFgcOASMiJzMXHgEzMjcEGPxeJLuvnjZrj31ri1hDQjkQDXNSc5XvtcQBDv67mahkAgNATdCKppeoBr/+uIncLwE4v34WYfxyEgOF/uw7sUpnWzNBc1Zmh5EifGSDRggLOEgyyCYBav7oovJuYzp2nXyOeV1KYzwJTl+PbpK/3J/ntFRcsAMFkHFKWseAwH8IY+T++7JLd3MzViT+uhsBKwK4vlhAVygNCVE2S2V8y2xkcAkxIMMABwBn/+cEZwVuAD0ASwBWAGsAeQCNAJwBFUAmnJSTjo2HhYR6c3JvbGtgX1pXVlJRTEtIRUQ+OzUxLCUgHw4NAgAuLy4uLi4vLy8vLi4uLi8uLi4uLi4vLi4uLi8uLi4uLi8uLi4uLkAZAACACId2CG9mCFpCCEgaCSUUCSwHCzUwGR8eEO0Q7RDtEO0Q7RDtEO0fHgCxPksvPEAbVDgKAQFzcmtgX1dWVFJRTDs4Dg0KABECAAAAExEUEhc5ExQvLy9AFIoBAZyUk46NioWEemwgHwwBAAIAExEUEhc5ExQvtQFFREsAABMREjk5E0AKkAJdACkBIgIRAj8/Pz8/QBkAAJkEkH0EimMEXU4EVB0GIhcGKQQGODAZHx4Q7RDtEO0Q7RDtEO0Q7R8eMTABBhUQMzI2NTQmIyIPATczFjMyNjU0JiMiBhUUFjMyNxcGIyImNTQ3NjMyFhUUBgcGFxYXBBEUBiMiJic3NjcGFQYVFBcVLgE1ND8BJSYjIg8BJzYzMhc3HgEVFAQjIic1FxYzMiQ1NCYnJicDHgEVFAYHJz4BNTQnJgcnJiMiBhUUFxYXByY1NDYzMhYXBwYjIi8BNRYfARYzMjY3AUQO/n+OnXMjSAsnCScXaYeUaWN+NSseGg8lbU9rRHPxsuN4ZhkBARQBIv3fzOIjCX2wAQt7Q1QOAQF+T3ozIwgIPSqUOthMO/7g7PiCCp/N2wEZLD8DBUg8XYRjFGZ6dgOXCVF5QVQlAQMLO2VMUXQY20RyUk0GCAEiLUowWhgCCTw5/vOdjYzBDwNtAn9kYopuVjdDGAhZblBOSXqphGCPGQcICgdb/vKwxqy1AykqCANWHJFAChN6UCxIB2hODAMaD2hfTX5Ywe2KBghw5LJLb1UEBwJyD5lTZ6UVFByRXYF1AswNckc4KBoBAxAZP0BWUEiHbE8FBgUBGSM3KwADADcAAASIBUEAPABPAFcBXrE4Ny88sQYFLzy0Li0YFwMXLzyxHBsvPLFXVi88sTAZHx5ACTY1MjESEQkFFxAX/TyzGhkIGxD9PLNVVAhWEP08sQAAHx6yUlFUEMDAsy8kHxsQxMTAslNQVhDAwLM0MwU3ERI5ObY8MBAHBBEFERIXObYWDQwABBcRERIXObIsGxkREjmzRkVAPS4vLi5ACgAASwhAKQkfMBkfHhDtEO0fHgBACwAAAVMEUgQAADAZHx4TEO3tEx8esTAvLzyxMzIvPLQ3Ni0sAxcvPLEXFi88sQA8LzyxUFEvPLFWVS88sTAZHx6zNTQEMhD9PEAKHBkYERAHBgYGLBAX/TyxAAAfHrYiMS4iAzIvERIXOS+yOAYsERI5tAEFAgAGERQSORS3ARsaEgMWAgATERIXOROzDQw8FhESOTlADkhDAQFIRkVDPQUCAAAAExEUEhc5ExQvL7NXVFVSERI5OTEwAQcGAA8BFTM3NhI/ARcHAgEhETY3NjczETMRFxEyFhUUBiMiNTQ/ATY1NCsCFRchNzUhJyE1ITU3NhI1AR4BFRQGIyInNRYzMjY1NCYnJgMhJyEnNTMVApgBIP8ApAY0BrLPTAMVBJb+zwFjBAJxMRMxG1haJh1ABwcCNBJFdv5Ue/3VFgJB/bMFkNQCmR8wNCYlKScbIy8PJgIT/gkXAdaCGwVBCaf+MLwHGQfLAW/5CA0N/g/+yQG3AgFIUP2uAisG/ds4Nx8pMBIJCAQEGOZpY5waNiIGqQIRvvyDBD0kLDsYDBMyJhoaKQL+QBuYrqUABABF/9IEbQXeAEkAWgBmAHIBOLEASS88sRsaLzyxMBkfHrIXFkkQ3TyzLSwIGhD9PLEAAB8esThJEMBADDIrJyQjHhwVEg0BLBDAxMTAwMDAwMTAxLJIFkkREjm0PT07GhYREjk5L0AOcm5tZ2ZkYWBbWlNSTUouLy4uLi4uLi8uLi4uLkASAABdCGRYCE1DCzIhCCcFEjAZHx4QzRDtEO0Q7RDtHx4AsRwbLzyxAAEvPLEwGR8etCwrKgQbEP08PLMWFQcBEP08sQAAHx61ASQjDwEAExDEwMATQBtwAQFycG5tZ2ZhYFtaU1JKSUg7OBoXEwIAAAATERQSFzkTFC+2LwEvLSoCABMREjk5Ey+yHhUbERI5tVAANQALAT8/P0AWAABqBHBVBFBGBS9ABTUdBCoHBg8wGR8eEO0Q7RDtEO0Q7RDtHx4xMBMhMzI2NzYnIgcGIyI1NDMyFhUUBiMhETc2NzUhMzc+ATU0JzMXFhUUBisBIRU2MzIEFRQEIyImJzc2NwYVFBYzMjY1NCYjIgcnJR4BFRQAIyInNRYzMgA1NCcBBhUUFhcVLgE1NDclJyYjIgYHJzYzMhfCAgsiZEgCAQkDCAwQLjAmPqq3/qkRFRIBI1aCTmQbBgcjupJR/vZdb9gBCP7t7cL6Gg2TSQmHe4aalou1b0AC7Vll/tD1oYuWku8BG5/92QpbUFluDQGoC1qDSWg9Fl+npEoFQh0rCwEICy0uTC5iW/6tDREL9Q8SdEcyOAw9M2WAzDH+z9T2r5kHSTs4M4WT1LmsuKwndznMeOn+4FUJQAEM49yW/oc5KE52GgwNiWIpMbQPdjpLDJCcAAUAVP/iBF4FdAAxAEAATgBsAIAA1EAaeHdwbWxiYF1cV09OTEpJREE8OzMyLiggGgAuLy8vLi4uLi4uLi4uLi4uLi4uLy4uLi8uLkAQAAB+CHBZCGAQCSAJCSgwGR8eEO0Q7RDtEO0fHgBAGmlVIxgBAXh3bWxpYl1cV1VPPDsjGA8CAAAAExEUEhc5ExQvLy8vQBU+HQEBTkxKSURBPjMyLh0ADAEAAgATERQSFzkTFC8vs3QAKwE/P0AZAAB6BHRkBFVRBGk2BD4TBR0NBiMEBSswGR8eEO0Q7RDtEO0Q7RDtEO0fHjEwASY1JiMiBgcGERAXFjMyNjU0JiMiBgcGIyI1NDYzMhYVFAIjIicmAjUQADMyFhcPAQYvAiYjIgcGDwISMzIWNx4BFwcGDwInNjcmJwMmIyIHBiMiJwYVEB8BFSImNTQ3FjMyPwE2MzIWFzceARUUBwYjIi8BNRYzMjc2NTQnAyMBE8g+eSVUSE6HdZp+b1VuEQgcLLmIrtbwwt+AQlABK+KDyTUKNlRECCk2SlQ6MiACGyDaP2Z9PoUjDGsMgAgLa4g4i1tYa2clGDgDBwHgCW6UAgwSJQ4JNHREbxO2LkeijbGQegmVfaaGmlQEGQoF+kxAkf6Z/t95g+SsorhuZjM6fKr2ys//AKdWAQ+KASYBg350BBosMAYqN0g+vQkgAYVJnhqISAUpBTwEFEAtbmf9MaybYQEPBP7uTgMH1Z4KHAMwH6xvVssgxF7umoZiBwZUf5LcnaAAAgB5AAAEfQVBADEARQDfsTEwLzyxHBsvPLEwGR8esiIhMBDdPLQREA8IGxD9PDyxAAAfHrMnFhUwEMDAxLcgHQ4HBgUADxDAxMDAwMDAtkU/PTw7OjIuLi4uLi8utgAANwg/MBkfHhDtHx4AQAsAAAE9BDwEAAAwGR8eExDt7RMfHrEHBi88sRYVLzyxHRwvPLEAMS88sTs6LzyxMkUvPLEwGR8esw8OBBwQ/TyzISAHMRD9PLEAAB8etykpGxEQBA4VERIXOS+zMCIgHBESOTmzJAITAj8/QAoAAC0GJBgEEzAZHx4Q7RDtHx4xMAEGDwECERchNDc2Ezc2NyEdARQjIiczFjMyNTc1ITc2NyEVFCMiJjU0MzIXFjMyNTc1BQYPAQYRFB8BISchJjUQPwE2PwEELxV0X44C/vQlN8p9Jib924sxKS0XE3QBAkkFCwL9a2UeKiwREAkHGwEDixNzY34JAv7EDwEpB4hdaxwCBUG22rP+9f6nSFeS3AETqjRRFRTHHwinKSMLGREr0B4VMA4JTTfEJ8HRsuT+xEdhDhtCRQFS9Ke/wAwAAAYAR//VBIwGkQBPAGYAcQCGAJAAmgEZsZGaLzyzmJaVmhDAwMRAIZCMi4d7enVycW1saWdbWlhVVFBMRkNAPjcyLykeFA8CAC4vLy8uLy8uLi4vLi8vLi4uLy4uLi8uLi4uLy4uLi4uLkAgAACTCJiCCHVvCGljCUZdCUxSCFg5CEAgLxkJAgoUMBkfHhDNEO0QzRDtEO0Q7RDtEO0Q7RDtHx4AsW1sLzy0h5CMiwMXLzyzAREBABMQxBOycWdsEMDAQBQBAXt6cltaVVRQQzcyHgANAgAAABMRFBIXORMUQA4nAQGalpWRPicGAQACABMRFBIXORMUL7WOAY4BAIsRFBI5FC+1eABJACwBPz8/QBAAAIkEjn8EeGAGSSMGLDAZHx4Q7RDtEO0Q7R8eMTABJjU0Njc2PwE2JzQvASY1NDMyFhUUDwEGFRQWFxYXNjU0JiMiBwYjIjU0NjMyFhUUBgcWHwEWFzY1NCYnJicWFRQGBx4BFRQEIyIkNTQ2NxcEFRQXFS4BNTQlJwYVFBYzMjY1NCYnExYVFA8BIzY1NCcTHgEVFAQjIic1Fx4BMzIkNTQvASYDJiMiByM2MzIXJQYVFBcHJjU0NwGQ9YGvcjcfFgEIDxc3Gyy0eo5OZlVH6GlMYyQMEB9nTXWjaHsMAS8CCdQfNgMGdnZed4T+9dTs/tKTo9f++YdKVgEDY+TTsouhl6ObNI4KKKUj9EZa/tX07YwPTqN27AEcTi8BnTlDUCkPK11aK/6OYTAGQ3oDGGqnapJcPCkXDwwIAwcKIzo4I1doR1JuPFMxKRNFo0RfUx0yOk+MZVOAQwUBFAEEaLMxQ0gDCEmKU54qQMt2ptDbq3SsSVBlu5BxCCqRUs9YIHHNlbGKd2+iQAPKMDVkWQZiXyo0/EMkqWHG9HsFCjIq5sGAYDoBAcU9PVdXcENJQygHOEdNUgAAAwBk/xYEYQVaADUARgBXALdAEVdQT0lHQT49NjEqJB4KBgUALi4uLi8vLy8uLi4vLi8uLi5AEAAAVQhJOghBFAkkDAkqMBkfHhDtEO0Q7RDtHx4AQA1OLwEBUE9OLwQAAAMAExEUEhc5ExQvL0ATIRwCAQE+PSEcCgYFAgAJAgAAABMRFBIXORMULy8vQAxEAQFXR0Q2BAEAAgATERQSFzkTFC+xJwE/QBAAADgERBcHIREGJwgEAjAZHx4Q7RDtEO0Q7R8eMTABBiMiJic3FjMyNzY1NCcuASMiBhUUFjMyPwE2MzIVFAYjIiY1NBIzMgARFAIHBiMiNTQ3NgADJiMiERQWFxUuATU0NjMyFjcEERABBgQjLwEyNzYSNRAlAzh7ylaeKAFQx953BTkmiEt0h456tCQIBRQgxY+q2/+72AER072/0j0s/AE3A2Bxu1lNWWpwZkJzXQEd/ul5/siYGgfwz8fg/v4CMY1KPAdyrE9H+nFLWr2hnLWsKRc3eqfjr8UBDf6h/ur0/md6fCAbBRwBTgNAc/7ndaIXBw+pf5KhTpGb/mL+Wf7jfY4BGImCAa37AZOeAAQAYv/yAb4EJwALABsAJwA3AIxADDcwLyooJRsUEw4MCS8uLy4uLi8uLy4uLkAQAAA1CCofCiUZCA4DCgkwGR8eEO0Q7RDtEO0fHgBAEyIRBgEBNzAvKCIUExEGCQIAAAATERQSFzkTFC8vL7cBARsMAQACABMRFBI5ORMUsS0AP0AOAAAyBC0cIhYEEQAGMBkfHhDNEO0QzRDtHx4xMBMyFhUUBiMiJjU0NhcWFRQGIyInNxYzMjY1NCcDMhYVFAYjIiY1NDYXFhUUBiMiJzcWMzI2NTQn4zZMTDY1TEzZN2VDUTIHQDQ/WSibNkxMNjVMTNk3ZUNRMgdAND9ZKAQnTDY1TEw1NkwpNExEZjsIJlY8OTr9UEw2NUxMNTZMKjNNRGY8ByZXPDk6AAQAIv8JAboEJwANABoAJgA2AJlAEDYvLiknJBoTEhAOCgUEAgAuLy4uLi4vLi4uLy4vLi4uQBAAADQIKR4KJBgIEAgJAjAZHx4Q7RDtEO0Q7R8eAEALAQETEgUEBAAAAwATERQSFzkTFEARLCEBAS8uLCEaDgoACAIAAAATERQSFzkTFC8vtwEBNicBAAIAExEUEjk5ExRACQAAMQQsGyEwGR8eEM0Q7R8eMTABFhUUBSc3NjU0JzY3NjcWFRAFJzc2NzY1NCcDMhYVFAYjIiY1NDYXFhUUBiMiJzcWMzI2NTQnATQe/tgICmc1DAdtuRH+tQ0RqUFCEpw1TEw1NkxM2ThlRFEyB0A1PlooATBGQ/lgDglVeVY/BAMoGz4x/uV/HAZDYmRoM1ADCEw2NUxMNTZMKTRMRGY7CCZWPDk6AAABAFUAjAOsBPsABgA/sQYFLzy0AAQDAQMXLzyyAgEFERI5AEAMAQEGBQQDAgUCAAAAExEUEhc5ExS3AQEBAAEAAgATERQSOTkTFDEwARUJAREBNQOs/boCRvypBPtl/on+ef70AkEPAAQAmQGfBBkDxAADAAkADQATALK0DhMECQMXLzyxEggvPLEwGR8etg0MAwIIAwgQF/w8tQoLAAEDCBAX3Dy1DhMECQMIEBfePLUQDwYFAwEQF9w8sQAAHx6zEQcBCBESOTkAsQkILzyxCg0vPLEwGR8esg4GDRD8swcGBw0Q/DyyExINEN48swwLBg4Q/DyzAgEFBhD8PLIEBgEQ/LMREAULEP08swADBgQQ/DyxAAAfHrIPDgsREjm0AQUCAAERFBI5FDEwARUhNQUXFSEnIQcVITUFFxUhJyEDyPzRA2kX/LQSA0c6/NEDaRf8tBIDRwPEfX04FoIcon19NxaCHAABAFUAjAOsBPsABgA/tAAEAwEDFy88sQYFLzyyAgUBERI5AEAMAQEGBQIBAAUCAAAAExEUEhc5ExS3AQEEAwEAAgATERQSOTkTFDEwNzUJAREBFVUCRv26A1eMZQF2AYgBDP2/EAAFACL/8gNeBTQAKABAAFYAYgByAMdAGXJramVjYFFQS0lGRUFANzU0KykkFxAIAgAuLy8vLy4uLy4uLy4uLi4uLy4uLy4vLi4uQBsAAHAIZVoKYFUISz0IKzIINyIJAhwLCA8XMBkfHhDNEO0Q7RDtEO0Q7RDtEO0fHgBAFF0UAQFya2pjXUZFNTQUAAsCAAAAExEUEhc5ExQvL0AQTgEBUVBOSUFAKSQIAQACABMRFBIXORMUL7NoAAUBPz9ADwAAbQRoV11TBE4fBQUwGR8eEO0Q7RDNEO0fHjEwEyY1NDYzMhYVFAYPAQ4BHwEWBwYnLgE1NDc+ATU0JiMiBhUUFwYPAQYBFhUUBwYPAQYVFBcnJjU0Njc+ATU0JicBBwYPASc3NjcmNTQ2MzIXIyYjIhUUEzIWFRQGIyImNTQ2FxYVFAYjIic3FjMyNjU0J2tJyZ+k21xvajRRAgMBCgkPFySYZEVkUkVkUgkBNjoCGZNIJbE4ZhskEkhfoXhHPP7kFpNMCRAKhUtSQjFfLwY9TlZTNkxMNjVMTNg4ZURQMgZANT5aKANaWGN/oLKFXYtLRyNvIjcOCwoBAUApiZtmdkZVaVc9QTEGAR8hAWJsp29fMYMpTEQjLwojJTVYQm6haU2JJ/7eDFU5BhUHXSc0Uyk5bFFNU/1LTDY1TEw1NkwqM01EZjwHJlc8ODsABgAw/+sFiwVpABoAJwA3AH8AjgCfARFAI5uZmI+DfXt2c3JxaGNeV1A+OTg3MjAvKCIhHBsWExIKBQQALi4uLi4uLy4uLi4uLi4vLi4uLi8vLy4vLi4uLy4vLy4uLi9AGAAAlQibiQloRwlXQV48CH0tCDIPCBYwGR8eEO0Q7RDtEM0Q7RDtEO0fHgBAI2VhVE4ZAgEBmZh7c2VjYVROPjAvIiEcGxkKBQQCABYCAAAAExEUEhc5ExQvLy8vLy9AGp5vazUqAQGej3Jxb2s5ODc1KigTEg4BAAIAExEUEhc5ExQvLy8vL7NbASUAPz9AHwAAkgSejAZlhgZreQVhSgZURAZbHgQlDAQZBwQCMBkfHhDtEO0Q7RDtEO0Q7RDtEO0Q7R8eMTABBiMiJzUWMzI/ARYzMhI1NCYnNxYSFRQCIyIFNRYzMjY3FwYEIyImASYjIgYVFBcHJjU0NjMyFzcXAwYVFBc+ATU0ACMiABEUADMyNzY3NgcGBwYjIAARECU2MyAAFRQCIyInBiMiJjU0EjMyFxYzMjcXAwcGFRQWMzI3JjU0Nyc3NjU0JiMiBhUUFjMyNhMnJiMiABUUFhcHJBEQADMyA01maFxCPmJcWg9AZZrnp50Cprv1omf97oLkmuFeEkT+/KN2oQFeFRRMXj0BVWxXHBT4FzYEI09d/uDN7f6uATrpy68cFhYBAUSt3/7w/oYBDbrbAQIBV82IhQpWhHKI2pk+TCgYIBgNNAkDJR0LFS4FrREBRTlbckM8SGLAFXNf4v7Tj34J/uABPu6fAYlhTAQ4Vg9jATfQqfxDDDr+97Ha/ra2B3JXYBBbZTsDwBPLo6MmBhfEp88hRxv+Ux8QPCMozIXBARD+kf7+8P68fhQCAhUhLXQBdwEOAUrMjf7P5Lr+54mQqo62AQQeEBAJ/mlYHw8mMAUhPw8oWZUGDltt57hufJMCcQYf/rf2nPM6C4kBTAEBAVcABAAAAAAGFQVVAFgAYgBxAIkBOEBBiYaCgYB/fn18e3RycXBuaWRjYmBaWVhXVlRTT05JR0VBQDs2NTMvLi0sJSEfHhsaGBcWFRQTDw0IBwYFBAMCAQAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4vLi4vLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLrYAACcIMzAZHx4Q7R8eAEATAAABgAR/BAAAWAAvBC4EAAAwGR8eExDt7RDNzRDt7RMfHrEtLC88tEFAFhUDFy88sX59LzxAIxEBcG5pZGJgWlZPTkdFNjUlIR8eGxoYFxQTEQ8IAwIdAgAVERQSFzkUL0ASAXFjWVdUU0kNBwYFBAENWAIAExESFzkTQA+EAYmGhIKBfHt0cgkCAH8RFBIXORQvtgAAeQSEMBkfHhDtHx4xMAEHEzcDNxcHEzY/ATY3FhcmIyIHExchNwMGByc2PwEnBgcnJi8BBhUUFhcWFyEnIScuATU0NycGDwEGFRQWFxYXIT4BEzcmJzY3Fh8BFhc3JyYvATcWFxMnEwMWHwEWHwE2NwsBFh8BFhc2PwE2NyYnEwUWFyYjJyYjIgcTFyEnIScDNjMyFycmJwPHaKQolGoaZYwMAiEeCBo2HQ1fLLWW/geKb247Fzt1CBN3ThI0UQpNK1IHD/3kFAH9EUIpUywNFCEbJj0GDP4Mj6dSBDVkNx4OAy0XIBIMMiIJEDUxiGrWbgkBKSEzCis7tp9MNy4BCQkBDgMIRl2AAjAWWBYDUTcZBBCn3/29EwITtLIiLDZCDEAWBVV2/kwWAYp6C3X+iwkCHBgKcloCHv4VdHQBJG9kBmJ5Cixjgx1Tagyraz9XZgkTGxVQWTxmyi4gPmZSNjhKQAYNSvoBBQ4tClJZDQMqFhcsCiwbBxYjLgF2cv6//t4KAi4kTA82NQHk/lxOTEABDAkCEQQJbFcBUtJanQMHBQH+RcUbnwHXCQkWdl8ABAAOAAAE1AVqAC4ASQBgAHABU7YuLSQjHh0FFy88ti4tJCMeHQUXLzy0TUw2NQMXLzyxMBkfHrZKSy8wCQMdEBf9PLZYV0FACAM1EBf9PLEAAB8etignISAcAB0QwMDAwMDAQBBaU1I8OxsYFRMQDwoIBwVAEMTAwMDAwMTAxMDAwMDAwLZwamloZ2NhLi8uLi4uLkAQAABuCGNcChhFCwUNCBMwGR8eEO0Q7RDtEO0fHgBACwAAAWoEaQQAADAZHx4TEO3tEx8esRwbLzyxaGcvPLEwGR8etllYTEsGAxsQF/08sQAAHx5AI09CMzIBWldTUk9NSkJBNTMyMC0oJyQjISAeHRUKCAcaAgBLERQSFzkULy8vL0ASOAEBQDw7ODYvLhAPAAoBAAIAExEUEhc5ExQvtQFwYQIAaREUEjk5FLECAT9AEAAAXwYyVgRPSAYCPgQ4MBkfHhDtEO0Q7RDtHx4xMBM2ITIEFRQHFRYXPgE1NCc1FxYVFAceARUUBiMhNxEiByc2MzUjIgc3FxYzMhcRNxE2MxcyMxE2MzIWFycmIyIHETMyNjU0JiMiAxEzETYzMhYXIy4BIwcRMzckNTQmIyIFFhUUBwYjISchMjc2NTQnQ+4BKNcBEOwYIm9/dQuD4mJt2LT9NIo7TwhZORk4VSwQJxQeEcgLBBIEDVZSXm0mHEuLTj4qv7ubfm9pMkcfppUsDDGUj1IgkQEauv8ZAqdrd3Th/VgRAnfOW8pcBM2dwZnMRQsGChqgcY5uBgllntpWLaZolbN2AbEMHQk1CGABAwMBeEv+PQEBAZkoRFIQcSz+gH+Dc439rP3ZAesFPldFNQL+LQUU/p91SlOpqm9sGype6YJqAAAEADD/3wSNBXYAJgA2AEUATwC6QBNPSklGRT08NzYyLy4nJh0WBQQALi4uLy8uLi4uLy4uLi4uLi4uLkAKAAArCDIMCh0wGR8eEO0Q7R8eAEAJAAABSQQCADAZHx4TEO4THx5ADxQBAUU9PDcvLhQHAgAAABMRFBIXORMUL0APNAEBNjQnJgUEAAcBAAIAExEUEhc5ExQvs0pGT0kREjk5tzoAJAEgARoAPz8/P0AQAAA/BDopBDQPBRoIBSAwGR8eEO0Q7RDtEO0fHjEwAQcGDwEnLgEjIgcGERASMzI2NzYzMhUUBwYhIAAREAAzMhcWMzI3BSYjIBEUEhcVJgI1ECEyFwEGAiMiJzUWMzI3PgE/ARMHBgcnNzY/AgREC1pCCQ0XqHd/VWvFr4ynEAQeJyxd/t3+/P7OAT7scI9LMTUq/u5bUf79eG12jQEcYFEBRhD13KeQgLXGfT06CgJCC21BGwsyJlAKBTYTnZ0XB5iyb4r+tv7k/r67ripBYWjcAW0BNwEfAYQ3HR22Sf4S4f7VLAoYATvxAgVV/UT4/v1nCFR/Ppp/FwMfE7qZDRlpRY4SAAADACkAAASmBVUADQAkADYA2LENDC88sREQLzyxMBkfHrMODwkMEP08sxsaCBAQ/TyxAAAfHrILAAwQwMC0FgoFARoQwMTAwLU2MjAnJiUuLi4uLy5ACgAAKwgyIAoFMBkfHhDtEO0fHgBAEwAAAScEJgQADgUkBQEAAQAAMBkfHhMQzc0Q7e0Q7e0THx6xCwovPLElNi88sTAZHx60GxAPBgoQ/Tw8sQAAHx60AQwCAA8RFBI5FEALEwEaFhMRDQUkAgATERIXORMvtgEBMAEAAgATERQSORMUtgAAGAQTMBkfHhDtHx4xMBMhIBcWERAHDgEjITcRNxEzETYzMhYXJiMiBxEyNjc2ERAnJiMBJyEgNyQREC8BJicWERAHBiFHAYoBIYvPtVLLqP5XicQ3NCtSXzBqeRoqcHQ0kZ1fzv7CDwFuAQ6MAS2HKAIK1NKh/pMFVW+k/qL+laJJPGkEJx/7ngQgCCEsMgT79yU1kwFbAVN8S/r/G0ugAcsBM5UsAgyF/oj+dbuQAAAEAAAAAAUNBVUAQQBIAEwAVwF9tkA/OTgzMgUXLzy2QD85ODMyBRcvPLQjIg0MAxcvPLEeHS88sUlKLzyxMBkfHrYnJhsaCAMMEBf9PLYhIAsKCQMyEBf9PLNMSwhKEP08sQAAHx61QT02NTEyEMDAwMDAtTAtEgMAHRDAwMDAwLYlJB8cBB0aERIXOUAMVVRSUVBPTk1IRkVCLi4uLi4uLi4uLi4uAEAUAAABUQRQBABFBwIIBQEAQQAAMBkfHhMQzc0Q7RDuEO3tEx8esTEwLzyyOCQjLzw8tT8cGwwLBBcvPLFPTi88sTAZHx60OSAfBQsQ/Tw8tj0zJiUEAyMQF/08tCciIQYwEP08PLFIRRDdsQAAHx63NjUyLR4FJSEREhc5szs7Cx8REjkvQA4PAUAdGhIPDQoDCAgCABMREhc5Ey+zRkJIRRESOTm3AQFLSgIAAAATERQSOTkTFLcBAUxJAQACABMRFBI5ORMUQAkBVVRSTQQCAFARFBIXORS2AAAXBA8wGR8eEO0fHjEwAQcGByYnLgEjIgcRMxE2MzIWFyYnLgEjIg8BETM3ESchETMRMxcjETI2PwE2Nx4BFyE3EQYHJzY3NSYjIgc2MxEnBQcGByc2NwERJxEBByEnITcmJxcWFwRlEGY8CgU3fqNLaUBMRX94Lw4GUUhqIFIVuIGB/u9A2RrazKwxNQMJGk1Z+5+YVEQOPWkRB2ZULqSYBFsHeikRQ2r+6BkBtzT7vBAERyKQOyA3gwVVE32iFwt4RgX+NAGXBzZOCgVAGAQB/oSx/lGn/c8CAhr+GDpVWwYQboRYdAG+CioVLA0vAkugAat4RgmkbxWbgf6e/kYNAbr8i1obP4WXDICAAAQAAAAABJkFVQAxADcAOwBFAXe2MTApKCMiBRcvPLYxMCkoIyIFFy88sQ4NLzyxHBsvPLE4OS88sURDLzyxMBkfHrMZGAgNEP08th8eDAsJAyIQF/08szs6CDkQ/TyzPj0IQxD9PLEAAB8eti4tJiUhACIQwMDAwMDAskFAQxDAwLMTBQEbEMDAwLRFQj88PRDAwMDAtSAdGgMbGBESFzmzNzU0Mi4uLi4AQBQAAAFCBEEEADQFAgkFAQABAAAwGR8eExDNzRDtEO4Q7e0THx6xISAvPLUwGhkNDAQXLzyxQD8vPLFFRC88sTAZHx60KR4dBQwQ/Tw8sTc0EN2zPD0ERBD9PLEAAB8eQAwuLSgmJSMiHxwJHSAREhc5sysrDB0REjkvQA0RATEbGBMRDgUHCQIAExESFzkTL7QICwgBCRESOTkvszUyNzQREjk5twEBOjkCAAAAExEUEjk5ExS3AQE7OAEAAgATERQSOTkTFLNDPj1BERI5ObYAABYEETAZHx4Q7R8eMTATIQ4BDwEuASMHLwERMxE3NjMyFy4BIyIHETM3EScjERchNxEiByc2MzUmIyIHJzY3ESUGByc2NwERJxEDIxEXISchJxEzPwQOPjUpCEKBmTlhJT0dPkbMMzFzeCtAl6Co5YD+FaNNOhM6YBUJXUQHLZkD048lFSaR/t0amc2w/b0ZAiSRyQVVUl5oFIhQAQEB/iwBnQEDai8hBf5+qf5dpv4IgoIBrjoVQC8CTBCCDAGmRKeLDp2Y/ov+UA8BsP7D/lTaG7MB0wAABAAw//8FSwVbADsAPwBUAGYBhrEQDy88sSopLzyxV1YvPLEwGR8ethUUCwoJAykQF/08s2VkCFYQ/TyxAAAfHrIyGQ8QxMSzYl9eZBDAwMCzKygAKRDAwMC0ZmNYVVYQwMDAwEAMHywnHxcWEwwJCAoPERIXOS+yASkKERI5QAlUT0xLQD8+PTwuLi4uLi4uLy5ADAAASAhPJBkHCjIwGR8eEO0QzRDtHx4AQAkAAAE9BAIAMBkfHhMQ7hMfHrEsKy88sRQTLzyxKCcvPLBZL7FfXi88sTAZHx6zDAsEExD9PLMKCQYrEP08tBcWFQYnEP08PLE/PRDds2NiBFkQ/TyxAAAfHrIqCwkREjmyKRMLERI5sxAPFRMREjk5QBFSOhwBAVRSQDocAQAHAQACABMRFBIXORMULy8vsz48Pz0REjk5twEBTEsCAAAAExEUEjk5ExS2AQFYAAADABMRFBI5ExRACwFmZWRXVlUGAgBeERQSFzkUs1oANgE/P0ANAABhBFpDBFIEBTYwGR8eEO0Q7RDtHx4xMAEDLgEjIgIRECEzESMiJic1HgE7ATUhIyI1NDYzMhYVFA8BBhUUOwEhBxEXISMiJicmERA3NjMyFxYzMhcDJxMFJyYjIgcOARUUFhcVLgE1NBIzMhcBBxEXJQUiJyYnMxYzNyEnETcElLsSoYS80QHaofxSRyEkSFH5/uotlTIjGicgGAwhIgKUioD+AWV/plXJvqbkZoSHKz99qxis/tcScl5yUzw1UGt0ZrKhjFgBfGem/nP+mCISP0AVRHYyAm+KcwUy/pCdpv7c/vn9vQIHEh4ZGxE2bCo8JhosBwUDBw2H/hNuPk+4ATUBP7OdJCUf/rALAVGkDVFRPMKfytZWC0X71+0BB3T+mmf+K78DBAIHMB4BmQHqdAACAAcAAAUGBVUAQgBMAVS2QkE8OzY1BRcvPLZCQTw7NjUFFy88tCQjBgUDFy88sRQTLzyxRUQvPLEwGR8eth4dCgkIAwUQF/08tjIxAwIJAzUQF/08QAkqKRgXEA8JBRMQF/08s0tKCEQQ/TyxAAAfHkAJPz45ODQhIAA1EMDAwMDAwMDAskhHShDAwLIVEhMQwMC0TElGQ0QQwMDAwEALMyIfFhEIBwEIDwkREhc5AEAVAAABSQRIBAAAEhEBACIEIQQAADAZHx4TEO3tEM3Nzc0Q7e0THx6xIB8vPLQ0MxYVAxcvPLFHRi88QCEsGgFBPz48Ozk4NjUyMSwqKSQjHh0aGBcUDwoFAxoCABURFBIXORQvL0ANAUITEAkIBwYCCAECABMREhc5E7UBSkUCAEgRFBI5ORRACwEBTEtEQwQBAAIAExEUEhc5ExRACgAAJwQaDQcsMBkfHhDtEO0fHjEwEyEHERYXETcXBxEXFjMyNxEnIQcRFyE3EQYjIi8BERchJyEnERcWMzI3NQYjIi8BJicRFyE3ESIHJzY3NSIHJzY3ESUHERchJyEnETdBAdaIFx9tFGchTUhoS3oBzop5/jSJVFlUWg6l/fsaAeiIHYQ7YEdefUMfZQYRgP4yhlQyFTphcEEPO4UD/2am/fkZAeeGbwVVhf5QBAIBrGwSZv5fAwcKAcxwhfvubHUBqBQJAf5ZvhuVAcwCChokDgMJAQH+EGx1AbVCCkkIJVUKkBoBwkJj/AS+G5cEEm4AAAIAKQAAAnIFVQAHABEAqbEHBi88sQoJLzyxMBkfHrMDAgkGEP08sxAPCAkQ/TyxAAAfHrIFAAYQwMCyDQwPEMDAsgQBAhDAwLQRDgsICRDAwMDAAEAOAAABDgQNBAAAAQAAMBkfHhMQzc0Q7e0THx6xBQQvPLEMCy88tQEGAwIABBEUEjk5FLUBBwIBAgATERI5ORO1AQ8KAgANERQSOTkUQAsBAREQCQgEAQACABMRFBIXORMUMTATIQcRFyE3ESUHERchJyEnETcpAdqGfv4uiwF8Zqj9+BkB5olxBVWI++9qcwQTRGX8BbwblwQOcAAAA//X/+ID5QVVABgAMQA8AOOyAwIBLzw8shwbGi88PLEwGR8esxcWCQEQ/TyzMC8IGhD9PLEAAB8etBgRDw4WEMDAxMCyJiUvEMDAsgUAARDAwLUxLB8dGRoQwMDAwMC0PDo4NzIuLi4vLrYAADUIOjAZHx4Q7R8eAEAJAAABABgAADAZHx4TEM3NEx8esTg3LzyxMjwvPEAWCAEBLywmJR8dGxYPDggFAwIOAgAAABMRFBIXORMUL7UBFwEYAgATERI5ORNACwEBMTAaGQQBAAIAExEUEhc5ExSxIwA/QAoAACkEIxQGCDAZHx4Q7RDtHx4xMAEHERUUFw4BIyAvAS4BJyUGFRQWMzIZAScFBxEVFxYXBgcGISInNR4BMzIkNy4BNRE3AQcGFRQXIyY1NDcDvIcyDOar/sVaDgodKQErEGtbtYgCAGIODSoOSJH++sh4S4RirgERHy4Ubv2JAhORD50WBVWH/RkgSxuDpfcmHRUH32Jkh6EBHwM7ezhk/SUnPRobVVm1cwg5K7mKJTRPAuBu/SUNcTPCRi7JZlwAAAIAKQAABacFVQAqADgBDbEqKS88tCIhBQQDFy88sTAZHx62JiUDAgkDKRAX/Ty2HBsJCAgDBBAX/TyxAAAfHrQoHx4AKRDAwMDAQBQnJCMgHRoZGBcWFRIREA8MBwYBCBDAwMDEwMDAwMDAwMDAwMDAwMDAQAo4NTQzMjEwLy4rLi4uLi4uLi4uLgBAFQAAATMEMgQAABEQAQAgBB8EAAAwGR8eExDt7RDNzc3NEO3tEx8esR4dLzy0KCcYFwMXLzyxMTAvPEAUASkmJSQjIiEcGxoZFgkEAw8CABcRFBIXORRADgEqFRIPCAcGBQIJAQIAExESFzkTtQE0LwIAMhEUEjk5FEALAQE4NS4rBAEAAgATERQSFzkTFDEwEyEHETcRNxcHEQE2NTQmJzUhFQYPAQEXITcDBxEXISchJxE3JwcRFyE3ESUGDwEBBSEnIScBNzY3MQHUizdwD2cBNkNMNgIPrciLAXGo/fmD+KOj/f8bAeB/rhbPef42iQRPlJOvAWEBG/2EHAJD1f6SupKbBVWE/aQ/AhVtFmT+FwFyUEAmRQsKCirwpf0zbWIB8Mf+4r8bmQE21iz2/sltdQQXHAqjwv00vxuRAt/Sow8AAgApAAAEnwVVABUAIgC7sRUULzyxBwYvPLEwGR8eswMCCRQQ/TyzCwoIBhD9PLEAAB8eshMAFBDAwLUSEAkIAQoQwMDAwMC3Hx4bGhkYFxYuLi4uLi4uLgBADgAAARoEGQQAAAEAADAZHx4TEM3NEO3tEx8esRMSLzyxGBcvPLEwGR8esg0GEhD9sQAAHx5ADAUBFBALBgUDBgIADREUEhc5FC9ACwEVCgkIBwIGAQIAExESFzkTQAkBHx4bFgQCABkRFBIXORQxMBMhBxEzFzMRNxcHERYzMjY3EhchNxEBByEnITcmLwEfARYXKQHejQgkCWwOYS0pn6McXmP77IoD7C377BkEIh1uQgQgB0NdBVWJ+9MDBCZtFmP75gSNov7vZHEEE/uEWhs/h6YLDBGUfQAD/94AAAXhBVUAKgA0AD4BK7EeHS88sjQzMi88PLECAS88sTc2LzyxMBkfHrMQDwgyEP08sissHRDdPLYMCwYFCQMBEBf9PLM9PAg2EP08sQAAHx60HxkWFR0QwMDAwLI6OTwQwMCyAwABEMDAtD47ODU2EMDAwMBAGzAvKikoJyYlJCMiISAYFxQTDg0KCQgHBBgFDxESFzkAQBkAAAE7BDoEAAAqIB8AFwQWBAoECQQAADAZHx4TEO3t7e0Qzc3NzRDt7RMfHrQVFAgHAxcvPLQZGAQDAxcvPLEODS88sTk4LzxAEwEzMC8sKCMiHRMQDwYFAg4CAA0RFBIXORRAEQE0KyknJiUkIR4MCwEMHwIAExESFzkTtQE8NwIAOhEUEjk5FEALAQE+PTY1BAEAAgATERQSFzkTFDEwAQcRFyE3EQEjJzMBNQEjAREUFh8BISchJyE3PgE1ESchBwE3ATcXBxMBJwURFBYXJyY9AREBBxEXISchJxE3BWyJe/40i/7DYAhXAU7+jEb+7hw0Wv31EgHrJf5CFW9HhAIFkQEbJP8AgxV97gECev2PP2MJYgRtca797Q4B5It2BVWL+/11dQKh/JgbA6KZ+/0DJ/3valg1chs3Cz19hwM7fIP8u1cC5mERWP1HAsmD7f0ypXwcD0SASgJPAT5R/BDGG50ED1EAAAL/7AAABMEFVQAwADwBFbEhIC88sRIRLzyyBgUELzw8sTY1LzyxMBkfHrMJCAgREP08shQTIBDdPLYtLCsmJQQEEBfdPLM6OQg1EP08sQAAHx60Ih0aGSAQwMDAwLI4NzkQwMCxAAQQwLIyMTUQwMCzEBARExESOS9AEjAqKSgnJCMcGxgXDg0LBw8lCBESFzm2AAAKCBAwGR8eEO0fHgBAFQAAATkEOAQAADAjIgAbBBoEAAAwGR8eExDt7RDNzc3NEO3tEx8esRkYLzy0HRwHBgMXLzyxNzYvPEAQASsmJSAXFBEODQsJCwIABhEUEhc5FEASAS0sKikoJyQhExIIBQQNIgIAExESFzkTQAsBATo1MjEEAQACABMRFBIXORMUMTABBgcGHQERIwERBxcWHwEmNTcRJxEQFh8BISchJyE+ATURJyEHATUBNxcHARE1NCYnBQcOARURIyczETQ2BJ5yITKp/igBDBRHCIoBNkiFV/3iEAH1NP4uelCFAfqOAeT+YYwTfAF8OXAB6RJNN9cNyUkFVTsxTJlB/I8DlP3hLZBkMAcu+V4CI2n9wP7uqiddGzcslLQDIG9f/FB4AyhfE1T9FgHTNa51NkoeEmFz+/kbA+KNbwAABAAw//MEzgViAA4AGwAmADgAjUALODAvKicZEgsIBwAuLi4vLy8uLy4uLkAQAAA1CCojChIeCxkFCAswGR8eEO0Q7RDtEO0fHgBADRUBATAvFQgHBQIAAAATERQSFzkTFC9ADA0BATgnDQAEAQACABMRFBIXORMUL7MtAA8BPz9AEAAAMgQtIAUVHAUPAwQNMBkfHhDtEO0Q7RDtHx4xMAEnJiMgERAXBy4BNRAhMicyABEQACMiJyYREAAXIBEQITISERAnJjcWEhUQACEiJzUWMzIAETQCJwMwEWBQ/vmjCWRVASSFmPMBI/7h8r+V2wEs/v6uAU2bok5Sp4+m/rn+9qqUfLv7AUKThwR2CjX9+/6GewpH58UCK5P+kP7M/t3+pnq0AWEBLgFkVv2u/dsBIwEYAT19giNF/rLb/r7+dHMFWwF6ASbbAUhRAAMABwAABKcFVQAjADoAUgFQtiMiGhkQDwUXLzyxKikvPLFLSi88sTAZHx62JCUMCwkDDxAX/TyzMzIIKRD9PLNFRAhKEP08sQAAHx62Hx4VFA4ADxDAwMDAwMCySEdKEMDAtzEuKw0KBQEyEMDEwMDAwMC0SUY+O0QQwMTAwEAKAABQCD42CgUwGR8eEO0Q7R8eAEARAAABSQRIBAA5BQEAAQAAMBkfHhMQzc0Q7RDt7RMfHrEODS88sCcvsSsqLzyxR0YvPLEwGR8etBoLCgUnEP08PLMyMQQqEP08sQAAHx5ACx8eGRUUEA8MCAoNERIXObQhIiEnChESOTkvQAomATMpJiUEAgAnERQSFzkUL7QBLjECABMREjkTsyQjOSoREjk5QA1NQgFNS0pFREIGAgBIERQSFzkULy+2AQE7AQACABMRFBI5ExRACgAAHAYhEgcmMBkfHhDtEO0fHjEwEyEgFxYVFAYHBisBERchNxEmIyIHJzY7ATc1JiMiByc2OwERNxEzFzI3ETMyFhcuASsBETI2NTQmIyIFHgEVFAcGISInERchJyEnERYzIDY1NCZhAcEBHnmadmpq53t6/i+LDAVIQglDNSQIFwhrQAo9hxDMDRoECW6AaSUlb2Vnxrmlty8CNT1KqH/+zTMjnf4LGwHXgFdiAQL6MAVVT2Owa54jI/4cbnUBkQEfEiYBMQM0D3AB6hL+CwEBAb4tRzMp/lp0fIt+CB6XYNlfSAL+Y7oblAHDBba8TnMAAAUAMP9BBVAFbQASADkAVQBmAG8A7UAjb2tqZ2ZiXl1bWVZTUlBNSklFOjYwKycjIh4cGBcTEg0KCQAuLi4vLi4uLi4uLi4uLi8vLi4uLi4uLi4uLy4uLi4uLi4uLkAQAABkCFlACzA8CjYHCA0wGR8eEO0Q7RDtEO0fHgBACgEBa2ocAwAAAwATERQSFzkTFEAnYEctFQEBb2diYF5dW1NSUE1KSUdFOi0rJyMiHhgXFRMKCRwCAAAAExEUEhc5ExQvLy8vQA8QBAEBZlYSEAQABgEAAgATERQSFzkTFC8vszMBIAA/P0ANAABDBS0+BTMlBCAwGR8eEO0Q7RDtHx4xMAEmJyYjIgIREBcjLgE1EBIzMhcTFjMyNxcGDwImJwYjIic3FjMyNyYnJicGIyIAERAAMzIAERQGByc2ERAhIBEQEjMyNyYjIgc3Fh8BNj8BJic3FhcTFhIVEAcWFxUGIyInNhEQJQEGDwEnNj8CAw8JBU84loTKCmpvip1fQn9afkRUBy8eSgSlemdop2MEhnJvXAQCDg1dY+7+xgEz+vMBKWd7PUT+r/63tp9DPztiBxFGSWgMDBAFQ2wOV01di6W7OXgmE1lIyP7sAaZRSAYYIitOBQSlBAIk/uz+x/6ZdyD/0gE5ARQ2+/hcJgRBNYUIHZQwVwdCKAYDFwwjAX8BIQEpAW/+lv7YtP97jZIBFwI6/an+8/7OHW4CVhVTCg8XB0EmFyE6A+E6/r/V/sHlMQoGBkLLAWEBgcb7HWqGCwxEP3IIAAADACL/bwVFBWYARwBeAHMBQLFFRC88tDc2LSwDFy88tExLHRwDFy88sTAZHx62SEkpKAkDRBAX/Ty2VlUXFggDHBAX/TyxAAAfHkAJQDoyMSsaGQBEEMDAwMDAwMDAQAxQKiUgGxgTDwsIBRYQxMDAwMDAwMDAwMC3cnBsaWdmY18uLi4uLi4uL0AKAABuCHJaCwUwGR8eEO0Q7R8eAEALAAABGwQaBAAAMBkfHhMQ7e0THx6xGRgvPLErKi88tAEPGAMAExESOROyCyoaERI5QB1CAVZLSURCQDo3NjIxLSwpKCUgHRwXFhMIFwIAKhEUEhc5FC9AEE4BAXBVUE5MSEUACAEAAgATERQSFzkTFC+3AQFnZgAAAwATERQSOTkTFEALAQFsaWNfBAIAAAATERQSFzkTFLECAT9ACgAAXQYCUwROMBkfHhDtEO0fHjEwEzYhMgQVFAYHFhIXBwYPAScCAycGDwERFyEnIScRNzY3Ji8BJicGDwERFyE3EQcGDwEnNj8CNSIPATY3Njc2NxYzMjcRJiclETI3ETYzMhcuASMiBxE3PgE1NCYjIgEWFxYXBg8BJzY3JAMnJDU0JxYVFFjtARHUARO0nEXtdw+Vjw8FQHMERXQIsP37EAHckRVyTQYBCgEEPqwLcv5Gggg6LwgJLBk1CDtYCwISAgwBAi0ZGxcuMQEmHRo3TcNGSnBOPS4Lxb+sg2kBmz+gZJnlyQkUv9j+4KUGATJPZQTdibiOdLMovv6YYAUzXQogAYMBDQogEwH+irwbmgGTAwwhDAMdAwkSFQL+Qnd3AVABDRADFBEGDQI0GgQOMwQpAwYDAwHsHBMd/eUFAewPgDwtDP4oAiSbfG+R/YHOxXtiPX0GEH07wAGmEXTuYnRcjuYABv/s/+oEXAVrADgARQBXAHEAdwCFAPVAH4B/eXh3dXRycWVkWlhXUU9ORkVAPzk4LyIhHx4UBQAuLi8uLi4uLy4uLi4uLi4uLy4uLy4uLi4uLi4uLi4uQBAAAG8IWksIUSgJFA8JLzAZHx4Q7RDtEO0Q7R8eAEALAAABTwI/BQIAMBkfHhMQ7hDOEx8eQB1nHBcBAYB/eXh3dXRycWdlZFgiIR8eHBcTAgAAABMRFBIXORMULy8vQAoBATgFAAMBAAIAExEUEhc5ExSzQDlFPxESOTm3SFdOSEYEVE8REhc5L7VdADYBMgE/Pz9AEAAAbARdYgRnJQYXDAUyMBkfHhDtEO0Q7RDtHx4xMAEGBwYPASYnLgEnJiMiBhUUHwEEERQGIyIvASYjIgcnNjcXHgEzMjY1NCcmJy4BNTQ2MzIXFjMyNxcHBgcGDwEnNzY/AgUmIyIGFRQfAQcmNTQ2MzIWFxMWFRQAIyIvASYjIgcnNjMyHwEWMzIkNTQnARYXFSYnAxcWHwEeARcHLgEnLgED1DQfPRQFBAIcJCRbdGuO/akBafe2co11Ry49QQh8MhIV0qqGnm5P9b2q47Z1nEkjMTpJCSkdRgkFGAQdN0QF/vZufkxkZQgFhHBaVoEe34j+2NRsV6A4QDkwDDQ2PE2aXGbIARls/TglobonYiIhoKGkbRcHLWmV2JQFSkZMliIGCwZaRiBRd1qoPSlX/tqk3yMdEScOu6kFna58aXlPODAlrJmexSoUIi8PRT+TEQcKCUJqhAjUdVhESk4FCDtwTmJJQv5vZ7O//vcWJw4XHRgSJRb/tZlz/ua0Swg2zAFJEzsnKCk7PAQ0MCMySQAAA//QAAAEwwVVACcAMAA/AQ60Hh0TEgMXLzyxPDsvPLEwGR8esw8OCRIQ/TyxAAAfHrcnJCMcGBcREhDAwMDAwMDAsjk4OxDAwLQQBwYADhDAwMDAtTo3NjUxOxDAwMDAwLMwLCsoLi4uLgBAFgAAAToEOQQAKwUCIAUOBQEAJwAAMBkfHhMQzc0Q7e0Q7hDt7RMfHrEREC88sRgXLzyxODcvPLEwGR8esTArEN2xAAAfHrUBEg8CABARFBI5ORRADRskIx4dHBsTBwYJDhcREhc5L7MLCycOERI5L7MsKDArERI5ObUBOzYCADkRFBI5ORRADD0BAT08NTEEAQACABMRFBIXORMUL0AKAAAzBD0UBBswGR8eEO0Q7R8eMTABBg8BBg8BLwEuASMiByMRFyE3ESciBgcjPgEzFzM1JiMiBgcjJi8BBQYPASc3Nj8BByYjIgcTFyEnIScRNzIWBIQJA0QjHgIKAx1rbi0tDHb+N4xHZ1cIGgtjcjwLMy6BcgYMK1oGBPNFTAQWA0pFBfdNZxcZBJ/+ARcB34Y2YVEFVREGeEBgBQcNclgE+8RtdQPjAVFmdVwBMQZpfYurCj9YzAoTCc9RBrAyA/wTvBuZBBIBHwADACL/6QTHBVUAGgAtADoA67EMCy88sQIBLzyxHRwvPLE5OC88sTAZHx6zEA8JCxD9PLMsKwgcEP08szAvCDgQ/TyxAAAfHrENCxDAsSMrEMCxAAEQwLItGxwQwMC1OjU0Mi4vEMDAwMDAthoZGA4EAQ8REhc5szExLzgREjkvAEALAAABABoODQAAMBkfHhMQzc3NzRMfHkAVBwEBODU0MjArIx0YEAsHAg0CAAAAExEUEhc5ExQvQAkBGQ8MAQQNAgATERIXORNADwEBOjkvLi0sHBsIAQACABMRFBIXORMUsSEAP0AKAAAnBCEUBQcwGR8eEO0Q7R8eMTABBxEUBgcGIyAnJhkBJyEHERcUFjMyNzY1EycFBxEQBwYhIicfARYzIDc2GQE3BQcRBxcWHwEuATURNwSlsxciVvj++mhTiAHYiAJ8k6I9MQScAcyIMGL+4/Z8CCN7wQEUWjCV/WxiAR8XQAJUQHEFVY/9erKcMoCAZQEeAph6hf1ympV9X039AoePRHH9k/7PXbx7BBRIrl4BHAKAegdj/RlFfyY2CSKCiALubgAC/9AAAAWfBpEAGgAoAKdAGyQjIiEgHxwbGBYTEhEQDw4NDAsKCQgHBgUBAC4uLi4uLi4uLi4uLi4uLi4uLy4uLi4uLi4uLgBADgAAASMEIgQACwoAADAZHx4TEM3NEO3tEx8esQcGLzyxISAvPLMYAQAKEMDAwLQBHBsBABMQwMATQAoBEw4NCAUFAgAGERQSFzkUQAsBEhEQDwwJBgoCABMREhc5E7UBJB8CACIRFBI5ORQxMAEXBgIDARchNwEnIQcBNwE3FwcBEzY1NCc3JDcXBgMBFyEnIScBNzYSBWALg6Z0/tx3/jOE/pKaAfCNAUon/tlmElkBFdRfSxMBI8cJv8v+5pz9/BYB334BHzZIxAaRC37+4P7O/QRobQQShI38VV0DQGUTWPzpAjb8ZWZJBDg1F5X97f0hthuUAu2OuAExAAL/wwAABv4GugAwAD4A+EAxPjo5ODc2NTEwLSsoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLy4uLi4uLi4uLi4AQBcAAAE5BDgEACcmIyIZGAAOBA0EAAAwGR8eExDt7RDNzc3Nzc0Q7e0THx6xDAsvPLQVFAcGAxcvPLE3Ni88szAtABgQwMDAtAE+MQEAExDAwBNAFQEoJSQhHBsWExIQDwoJCAUEEAIABhEUEhc5FEAMASAfHh0aFxEHGAIAExESFzkTtQE6NQIAOBEUEjk5FDEwAQYCCwEfASE3CwEXISchJxMnAx8BITcBJyEHEzcDNxcHGwEzATcDMxsBEjU0JzYkNxcGAgsBFyEnIScTGgE3BsKLjWCtFHv+OIOxrKz+ARQB3Ja9Ic0Qdf43iP7dlgHpieUjwVsXU6/WXgEEIOYc115YZHUBDEJMeJtRscD9/xcB26K4UpZ9BqyZ/tD+of2KTm5uAoH9jc4brQKsd/0TPm5uBBd+fvzIeQKwURBK/YsDC/xScQM9/PUBUgE+YGs9JYAzWoT+tP7W/XrgG7sCngEqAUGSAAAC/9AAAAWOBVUAIQAtAPJALi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uAEAVAAABKQQoBAAAIRcWAAwECwQAADAZHx4TEO3tEM3Nzc0Q7e0THx6xCgkvPLQSEQUEAxcvPLEnJi88QBEBGRQTEA8ODQgHBgMCDAIABBEUEhc5FEAPASAfHh0cGxoYFQEKFgIAExESFzkTQAkBKyolJAQCACgRFBIXORRACwEBLSwjIgQBAAIAExEUEhc5ExQxMAEHCQEXITcDARchJyEnAScBFyE3CQEnIQcTNwM3FwcbAScFBwkBFyEnIScJATcE+9z+wAFurv38f+T+5qT93Q8B/Y8BLBz+uXr+NeoBg/7IvgIQg98ku28SYKrZfQHcw/7lAVn0/ZMSAj/L/p4BKcYFVZD+af2ng3sBdP6U1Ru6AYUs/mKWlgHqAf2Gcv6ULgEqahFZ/uoBFoZMc/6R/cbtG8UCRwGAdgAC/9AAAAXMBrUAIgAzANixDAsvPLEqKS88sSMkLzyxMBkfHrMIBwkLEP08szAvCCkQ/TyxAAAfHrcaGBcUExIKCxDAwMDAwMDAsi0sLxDAwLYgHhsJAQAHEMDAwMDEwLUZFhUDBwsREhc5sy4rJCkREjk5AEAOAAABLgQtBAATEgAAMBkfHhMQzc0Q7e0THx6xCgkvPLEsKy88syABABIQwMDAtAEkIwEAExDAwBNADAEbFhUMCwgHBwIACREUEhc5FEAKARoZGBcUBRICABMREhc5E0AJATAvKikEAgAtERQSFzkUMTABFwcGBwYHAREXITcRAycuAS8BIQcBNwE3FwcBEzY1NCckNxcVBw4BBwERFyEnIScRATc2BZ8GCrN0LRP+jJH+GZDwNEdbWQsB+XwBTSD+12kVWwEV4GFVASO7OQpUeXf+lrL9jgwCSZgBcTqbBrUIC7rASR/9rf5qhYUBlgFxU29mRgmB/gozAcNkEFT+VQFhmkxAUkZnNikKUKC9/cb+eNcbvAGPAkZc9wACACIAAAT+BVUAKwA2AMFAGTQzMTAvLi0sKycgHxcWERAPDQYFBAMCAQAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uAEARAAABMAQvBAAiBQEAKwAAMBkfHhMQzc0Q7RDt7RMfHrEQDy88sS4tLzyxMBkfHrYGBQIBBQMPEBf9PLEAAB8etAENAgABERQSORRADRwBJyAfHBcWEQciAgATERIXORMvswQDKyIREjk5QAkBNDMxLAQCAC8RFBIXORS2AAATBBwwGR8eEO0fHjEwCQEzARcBMzczMjY3NjcWFyEBLwEiBgcnNjc+ATMyHwE3JiMiBgcGBycmLwEBByEnITcmJxcWFwRs/N4/AxIS/P5kTylSkyYvIVRe+44C5RSAtoofFRM/KnKDU0YPJ0ZEz5s5LBwIMlwGBNAz+4oVBHskc0IiM3cFVftSBJgY+4ACPjI+S9x0BFkBAk97F1U4JhkDATkFJDwvUBFzpAv7BVobP4yyDZeRAAACAM3/TwLqBfkADwAVAKmxAA8vPLEMCy88tA4NAgEDFy88sQoJLzyxEhEvPLEwGR8eswQDCg8Q/TyzBgUICxD9PLMIBwgJEP08sxAVCBEQ/TyxAAAfHrIUExUQwMAAsQ8OLzyxBwYvPLEAAS88sRMSLzyxMBkfHrMLCgQGEP08tg0MBQQFAw4QF/08swMCBQEQ/TyzFRQEEhD9PLEAAB8eswkIAQIREjk5tQEREAAAFBEUEjk5FDEwEyEVIxEzETM1FxUjETMVISUXFSEnIc0BzO057hfol/40AgYX/hcSAeQF+WL6awVfYRpj+r1iLBpjHAAAAv+S/0gEPgYAAAMACQBFQAoJCAcGBQQDAgEALi4uLi4uLi4uLgCxAgEvPLEAAy88sQkILzyxMBkfHrMEBQQIEP08sQAAHx60AQcGAQATEMDAEzEwAwEjCQEzARcBIxADzl78MgQSavwgKwPlbgYA+Z4GYvljBoAV+XoAAAIAlv9PArMF+QALABEAjbQABQQBAxcvPLQLCgcGAxcvPLEODS88sTAZHx6zAwIKBhD9PLMMEQgNEP08sQAAHx6yEA8REMDAswkIBgEREjk5ALEEAy88sQoJLzyxAgEvPLEPDi88sTAZHx6zCAcECRD9PLMGBQUDEP08swALBQEQ/TyzERAEDhD9PLEAAB8etAENDAEAExDAwBMxMBM1IREhNTMRIyczNSUXESEnIZYBzP407boSzAEZF/4XEgHkBZdi+adiBUMcNiwZ+aUcAAAB/8gCQgQ3BZoABgAvtgYFBAMCAQAuLi4uLi4uALQABAMBAxcvPLEGBS88tgEBAgEAAgATERQSORMUMTABIwkBIQEzBDdl/or+eP70AkEQAkICRv26A1gAAQAh/tMD3v9IAAMAJLEAAy88sQIBLzwAsQMCLzyxMBkfHrMAAQcCEP08sQAAHx4xMBchFSEhA738Q7h1AAACALoF3gKZBuIAAwAJAFdACgkIBwYFBAMCAQAuLi4uLi4uLi4uAEAOAAABBAcFBwECAQEAMBkfHhMQzs4Q7u4THx6xBwYvPLEwGR8esgADARDdPLEIBRDcsQAAHx6yCQgGERI5MTABFyMnASMnMycXAYqKdeUB36gci30rBuLAwP78Ga4JAAIARP9PAu8F+QBnAHEA9rFcWy88tABEQwEDFy88sRsaLzyxaGkvPLEwGR8esxkYCBoQ/TyzcXAIaRD9PLEAAB8esmxrcBDAwEAeYko6MCcjFQliWVVUUEpBOjcwLiclIxUODAsJEwFbERIXOS8vLy8vLy8vQBwAAF4LCU4LJz8IMDUIOiwKSh4IFRAIIwQLYjAZHx4Q7RDtEO0Q7RDtEO0Q7RDtHx4AQAkBGxoZGAEAAQATEMDAwMDAwBNAEQEBcXBsa2loRENBLgoAAAMAExEUEhc5ExRAFFcBAVxbWVdVVFA3JQ4MCwwCAAAAExEUEhc5ExQvtgAAUgRXMBkfHhDtHx4xMAEVIgYVFB8BFhUUBxUWFzY1NC8BJjU0NjM1FxUiBhUUHwEWFRQHFhUUDwEGFRQXJjU0PwE2NTQnHgEVFA8BBhUUFxYzFSYjIicmNTQ3NjU0JyYjIgcnNjMyFyYnNTY1NCcmNTQ3NjMyExUiJzUWMxczNQKdg38LHA/xLSHaDxwLf4Mbg38LHA/klw4aDoVODhoOWD41DhoOSS40K1O9SFcsERcrHg0fDiIYDSMtX7sQLWNEuVty+aeQpzwSBflTeHovIVYuKqgoCAYKLZ8rLVYhL3t3Uw1TeHswIFYsJpsvOpMpM2AxMr8qQYwyMWAzKHA/JFhBKDNgMTGEQghSBEZUpESoQS8jKAUCGQMEIQRLDIAkM5I9rlU6+b9mKQUTAWQAAAEBtP6rAk0FVQADACSxAAMvPLEwGR8eswIBCQMQ/TyxAAAfHgCxAwIvPLEAAS88MTABMxEjAbSZmQVV+VYAAwCW/08DQQX5ADsAWABoAOm0MC8ODQMXLzyxAAEvPLFLSi88sTAZHx6zSUgIShD9PLEAAB8etlhWUkU9PEgQwMDExMDAQBU2IRYINi0rKighHx4cGhgWDAgOAQ0REhc5Ly8vL7NjYVtZLi8uL0AcAABnCFtfCGNOCEVBCFI6CyEmCjYRCggECxYwGR8eEO0Q7RDtEO0Q7RDtEO0Q7R8eAEAJAWEwLy0rKgEAExDAwMDAwMATQA4BAVhWPTwODQwHAAADABMRFBIXORMUQBMBAVlLSklIHx4cGhgBAAwCAAAAExEUEhc5ExS2AQEoAQACABMRFBI5ExQxMAEVDgEVFBcWFRQHBiMHNTI2NTQvASY1NDcmJxYXNjc1JjU0PwE2NTQnJiMnMhcmIzUWMzIXFhUUBwYVFAE3Mjc2NTQnJjU0Njc1FxUOARUUFxYVFAcGIw8BASY1NDc2NTQnFhUUBwYVFAL7ZloRLVlKv4GHew4bDpgsJD4yHSb2Dx0LHzp9Dm9AOpg7QrxGZS4Q/m+Wv0pZLRFaZhxmWhEtWUq/cSUB0DEQLkdjLhADDkoFREYpQadEo1NFBFJ0gDEyXjQokToVJSENBgQIKKYqLVUhMjtGLhslSFIDOlOtPZEyJH78UARFU6NDqEAqRkQFWhtbBUNHKkCoQ6JTRgIBA9wpKiQxjEhheVugTYItGxcAAAEBCQTeBEwF3gAWAEOzDw4BAC4uLi4AtQERAQABABMQwMDEE0ALBAEBDw4EAwEAAgATERQSFzkTFC9ACgAAFQcECgcRMBkfHhDtEO0fHjEwARcOASMiLwImIyIHBgcnNjMyFxYzMgQoJDGWSyxKOjtCMlBMBgwkeZw2e24waAXeF19zGBQTFVgGDRfUKyYA//8AAAAABhUG5QA2ACQAAAAWALEAAP//AAAAAAYVBxsANgAkAAAAFgC2AAAABwAw/lwEjQV2AEgAWQBpAG8AegCEAIcBOUArh4aFhH9+e3p0c3BvbWxqaWJhXFpZVFFQSUQzMi4tJCEeHBsZFhUMCAMBAC4uLy4uLi4uLi4uLi8uLi4uLy4uLi8uLi8uLi4uLi4uLi4uLi4uLi4uLi5ADwAAZwhcTQhUOgokEQMwGR8eEM0Q7RDtEO0fHgBAEQAAAYUAfgQCbAcAWgYAADAZHx4TEO4Q7hDuEMwTHx5AEhMGAQFzGRYVEwwIBgEJAAADABMRFBIXORMULy9AFUI9AQF6dHBRUEI9IR4cGwAMAgAAABMRFBIXORMULy9AD1cBAVlXSTMyLi0HAQACABMRFBIXORMUL7dkaWRiYQRaXxESFzkvs21qbG8REjk5s397hH4REjk5soaFhxESObMrAScBPz9ADQAASwRXNgUnDgUGMBkfHhDtEO0Q7R8eMTAlBzIVFAYjIic/ATY3FDMyNjU0IyIHJzY/ASYnNRYXNj8BJgAREAAzMhcWMzI3FwcGDwEnLgEjIgcGERASMzI2NzYzMhUUBgcGAyYjIBEUEh8BJgI1NBIzMhcDFhUUBiMiJzUWMzI2NTQnBzYzFQYHAQIFByc2Nz4BPwETBwYHJzc2PwIBFwcCmRRmbFFkOQgjGSc9HCs4HhQSDQwCZmleeAUGAfD+7gE773CPSzE1KhALWkIJDBineH5Va8WujacPBB4nPS5jIltR/v15bAF3jZOKX1EzRHdSTi44NkpyMa0HJhIOAiEb/rEKGlpXW1cMAkILbUEbCzImUAr9yBcSMVN9V3NjBRYQH15ONEMeECIlBxBLCD4NEBgGGAFgAR4BKAGHNx0dCROdnRcHmLJviv62/uP+v7uuKj1SrjFpBEtJ/hLh/tMqChgBOvL6AQtV+ys1ZlN3LAkgfVFEOUoiCgodAnf+XUgCGAc7PbSYFwMfE7qZDRlpRY4S+gELDP//AAAAAAUNBuQANgAoAAAAFgC4AAD////sAAAEwQbzADYAMQAAABYAvwAA//8AMP/zBM4G5QA2ADIAAAAWAMAAAP//ACL/6QTHBuUANgA4AAAAFgDGAAAAAwBE/08EbwX5AB8AIwAtAUaxHBsvPLYfHhkYExIFFy88th8eGRgTEgUXLzyxCQgvPLEMCy88sSAhLzyxJiUvPLEwGR8eswUECAgQ/Ty2Dw4DAgkDEhAX/TyzIyIIIRD9PLMsKwglEP08sQAAHx6yKSgrEMDAtC0qJyQlEMDAwMBACx0aFxYVFBEACBIbERIXOUAJEA0KBwYBBgsIERIXOQCxERAvPLEYFy88th4dCgkEAwUXLzyxAAEvPLEoJy88sS0sLzyxMBkfHrYaGQ4NBQMDEBf9PLMUEwQXEP08syopBCcQ/TyzJCUELBD9PLEAAB8eQAsBGxYVEg8MBhMAABMREhc5E7UBHAsBAAMRFBI5ORRACwEfCAcGBQIGAQEAExESFzkTtwEBIiECAAAAExEUEjk5ExS3AQEjIAEAAgATERQSOTkTFLUBKyYlAAATERI5ORMxMAEhBxEzETcXBxEzNxEnIxEXITcRIwcnNzM1IwcRFzMRBREnEQMjERchJyEnETMBRAHchz1xEWaUoajmgP4WosSLF5vL5aih7AKeGpnNsP3LGQIWkckF+Yj+pgFObxRl/ryo/l6m/G2HhwM+ixWROqYBoqgBYdz+UA8BsP7D/LrZG7MDbAADADUDhAIlBWcAEAAcACgAhLAgL7EwGR8esQggEN2yJgogEP6xGggQ3bEUJhDdsQMUEN2xAAAfHrIJJiAREjmzEAAUJhESOTmzDg4DFBESOS8AsCMvsTAZHx6yFwUjEP2xHSMQ3rEAHRDdsQAAHx62CwELCBcCABMREjk5Ey+yCSMXERI5shAAHRESObMRAQYCPz8xMAEeARUUBiMiJzcWMzI2NTQvATIWFRQGIyImNTQ2FyIGFRQWMzI2NTQmAbE1P4xgaUcIS01dhWajVXh4VVV4eFUxR0cxM0ZGBUAcbUBjkEcGOIZecEoweFVVeHhVVXhVRzIxR0YyM0YAAAQAzAAbA+YFOgA7AEwAVQBjAT5ACzxMR0YAOzU0Li0JFy88QAs8TEdGADs1NC4tCRcvPLQeHQcGAxcvPLFaWS88sTAZHx63LCsVFAIBBS0QF908thkYBQQIAwYQF/08s15dCFkQ/TyxAAAfHrZEQkE4MjEtEMDAxMDAxLJcW10QwMC3JhwbERAODQYQwMDAwMDAxLNjYVZZEMDEwLNVU1JNLi4uLkAKAABJCTg+CEQwGR8eEO0Q7R8eALEtLC88sQABLzyxW1ovPLEwGR8es11cBFoQ/TyxAAAfHkAXJBYBTEJBNTQyMS4rJB4YFhUREBACACwRFBIXORQvL0AXCwFHRjw7HRwbGRQODQsHBgUEAhEBAgATERIXORMvtwEBU1ICAAAAExEUEjk5ExS3AQFVTQEAAgATERQSOTkTFEAJAWNeWVYEAgBcERQSFzkUMTABMxUyFzUXFRYXFjMyNxcGByM0JicRMzI3ERYXFScRPgE/ATYzMhUUBgcGBxUjNScmLwEWFzUuATU0EjcVBhUUHwEVJjU0NzUGERQWFwEHBg8CJzY3ExQGBxUjJzM1PgE1NCcCG0wbIxkhMDkeJBkJUy8Lak4PGBcaISIyTQgEBBoiSzw4Y0wQQS8HQEeatbuUWT0IX3OkTlYBywUhGj8GGDhMApCBbRRoeJcCBTqFCGoUXAoVGRsGho9dkg383wcC2gUoDRT9UxJuQyQhMFGOIR8KomcFGCEQJg8lGfe5vwENFp4/2bGZEgiMyvtKMjL+vKTALwL+CTs2hgwPhob9xo6+HK8ZrhG0fwcUAAf/7P/rBOgFagAOAFYAYAB8AIAAkQCaAX6xkpMvPLOalpSTEMDAwEA1kYyKiYGAf359fHVwb2tkYVdWT01MS0pJSEdFQ0JAPj08OzEwLyknJiUkIBoVEQ8KCAcFAQAuLi8uLi8uLy4vLi4uLi4vLi4vLi4uLi8uLi4uLi4uLi4vLi4uLi8uLi4uLi4uLi4uLi4vLkAUAACFCIx6CGRcGlQRNwkpIglAMBkfHhDtEO0QzRDNEO0Q7R8eALEPVi88sUhHLzy1STw7JyYEFy88sX9+LzyxMBkfHrNMSwRHEP08tj49JSQHAyYQF/08s32ABH4Q/TyxAAAfHkAWHRcNAVdPRUNCIB0XFQ0IBwEADlYAABMREhc5Ey8vL7JKJiQREjlAEo8BAZqWlJOSkY+BMC8KAQACABMRFBIXORMUL0APAQGKiXx1cG9rYQgCAAAAExEUEhc5ExS3bQBnACwBEwA/Pz8/QBsAAIMEj3cEZ3IEbV8GF1kFHVETNAUsAwQNMBkfHhDtEO0QzRDtEO0Q7RDtEO0fHjEwJQcmIyIVFBcHJjU0NjMyJRYVECEiJwYjIiY1NDYzMh8BNjU0JyMnMyY1NDYzMhYXBzU0JiMiBhUUHwIzFyEWFRQHFzY1NzUhJx8BIRUUBxYzMjY1NCcBJiMiBhUUFjMyARcWFRQGIyImLwEGIyInMxYzMjY3FjMyNjU0JyUnMxcBJiMiFRQXFhcHAjU0NjMyHwE1JSYnFhcWFwFSDlo8SBEQFTQnWgN9Gf7My9KHkVJ2k3VLXg8CS+4o4Uj0xrHuKvmDb2J7OTkK/in+9gQpLCcDARo3Ijn+3Ct5gGN2Dv1cZ148UUQ6kQOkAQzMsGmghA2GhYs7BVJ4P44u4cOntxD70AntCAHRVm2RLjAPEnVdTJc0NwEVFb1FSkUe3RE7NxIdBRgbIS39ZGD+3JeLYkRVbCMGFhBlZHR4ja/Xs6QzEoaeYU5Tj4sbdBkZgF4XS1hLCqMRqxpuY0ZtWio3/uZIOywrNAFqD2M4n7gwRgdyhG1HN4Wrm0lkKhkZAlJcfkNyeSsGAQpaQVF12Rk3q44ZV1KLAAAEACn/OgQ1Bg4AXgB8AJ8AqAEoQCuoo6Kgnpybl5aKiX99dGppaGZkX1ZUUUtGRTk4NjQzMTAmJCIXFhEPBQEALi4uLi8uLi8uLy4uLi4uLi4uLi4vLi8uLi8uLi4uLi8uLi4uLi4vLi4uLkAcAACZCJ6UCH93CSJvCGZiCVE/CSYcCBENCVYwGR8eEO0Q7RDtEO0Q7RDtEO0Q7R8eAEAKAaigXVkUAQABABMQwMDExMTAwBNAEoyCKQEBjIqJgjYxMCkIAAADABMRFBIXORMULy8vQBYBAZeWfXRqaWRLRkU5ODQzJA8CAAAAExEUEhc5ExRAEgEBo6Kcm2hfVBcWDwULAQACABMRFBIXORMUs2wCLgA/P0ATAACRBIKHBIw8BikZBBQKBlkwGR8eEO0Q7RDtEO0Q7R8eMTABFwYHBgcmJy4BIyIGFRQXJjU0NjMyFwcmIyIGFRQWFwQWFRQHFhUUBiMiLwEmIyIHJzY3FxYXJic3HgEzMjY1NCYnLgEnFxYfARYXLgEnLgE1NDY3JjU0NjMyFxYzMgEOARUUFyY1NDcfASYjIgYVFBcWHwE+ATU0JyYnJgEWFRQEIyIvASYjIgcnNjMyHwEWMzIkNTQvATY1NCc1FhUUAwYHJzY3Nj8BA5oKLRk4EgUDIHZkX31ZLXBafzIHTllNZE1BAQm72qTer2hlUjIlLjkHZy0PGMN9IhsYgFltk3Wd0I0LIBycnbA9KW3ErJF+brPNr2J0NRsq/lNvY31KvFkNQCRGXEcvljZdZlkzshcBjYj+6tlRRnIoLi0hDCcsKzlyREvMAQdyGsJ/nElcNBgTPA4tAwX2BDw9hRkSCG9iZ01dOzI8TV9SBD1WQjVVE06TgL9LWaySux4YDyINmI4E0TBCogRxgnlaMUgxQlNAFTw0NDsvQjo8NIhuZIYSQsGLpCQQ/dsPUk1kODpShQwTEAtINk43IyoPDlxGWjQeNAf+E1icreATHgsXHRcPHRHVpYViEXamiVwFVZazA6KYhAo4bxpWCAABAZEBmgPJA9IACwAxsAkvtQAAAwkwGR8eEM0fHgC3BgEBBgIAAAATERQSORMUL7UAAAAGMBkfHhDNHx4xMAEyFhUUBiMiJjU0NgKtdqamdnampgPSpnZ2pqZ2dqYAAwAw/0gFMQX5AC4ANwBFASixBQQvPLUAEgoJAQQXLzyxKikvPLEiIS88sT49LzyxMBkfHrMmJQgpEP08sy4tCQEQ/Ty1LCskIwMhEBfdPLNCQQg9EP08sQAAHx6xDQQQxLJAP0EQwMCzGxoTIRDAwMCxOD0QwLMoJy0BERI5ObM3MzIvLi4uLgCxJyYvPLQALiMiAxcvPLErKi88sRMSLzyxPz4vPLEwGR8esyUkBCoQ/TyzKSgEJhD9PLMtLAUSEP08s0FABD4Q/TyxAAAfHrUBQjcvAQATEMDAwBNADAEBCgkFBAEFAgAAABMRFBIXORMUtQEbGiQCABMREjk5E7IhLCoREjmzHx8SLBESOS9ACwEBPTgzMgQBAAIAExEUEhc5ExSxRAE/tgAAOgREMBkfHhDtHx4xMAURJyInNRY7ARc1IiY1NDY3NjMhBg8BBgcGBycmJyYjIgcRIxEjESMnMxEzNSMRAQYPASc3Nj8BByYjIg8BESMnMxE2MzIB8xS3ZmyXGxPm3WBSVrsC8QgEQworBQoKFhk1PQcTbmueFpqFuALLRUMNFgNKRQXxHCUJBwOdFpkRB0JmA1sBShpGATWyuGWdIiMLBlkNTwoSB0AWLwX5/AW1+fkbBgc1+fsGLT+DGRMGlzsEryQCAfn7GwYHAQAABwBE//MGAQViAE0AYQB1AIYAkwCgALIBlLFLSi88tFJRHRwDFy88sTAZHx62Tk8qKQkDShAX/TyzFxYIHBD9PLNbWggcEP08sQAAHx5AC5GDRT41NCwaGQBKEMDAwMDAwMDAxMRAF4p+dnRycG5raWhlYlYlIBsYExAMCAUWEMTAwMDAwMDAwMDAwMDAwMDEwMTAwMS2OzouLQQpShESFzmzfytaHBESOTm0sqqppKEuLy4uLkATAACvCKScCYqWCZF7CINdCQUwGR8eEO0Q7RDtEO0Q7R8eALEZGC88sSwrLzyxMBkfHrMbGgQYEP08sUcrEN2xAAAfHkAMjQGNf35paBAGGAAAExESFzkTL7VrZQwDKxoREhc5QBVuYj47OjU0Li0qKSUgHRwXFhMSRysREhc5QAsBW1FPSkUIBgIARxEUEhc5FEAXhVQCAQGyoYV2clpWVFJOSwIADQEAAgATERQSFzkTFC8vL7cBAaqpAgAAABMRFBI5ORMUs6cAhwE/P0AVAACsBKeZBo2UBod5BIVgAlgEVDAZHx4Q7RDNEO0Q7RDtEO0fHjEwATYzMhYVFAYHHgEfAQcGDwEnJicGDwEVFyEnISc1NzY3JjUnJicGDwIVFyE3NQYHBgcGByc2PwE2NzUiDwE3Njc2NzY3FjMyPwERJic3ETI3ETYzMhcmIyIHFTY1NCYjIgEeARcGDwEnNjcmLwE2NTQnFhUUAycmIyARFBYXByYnJjUQITInIAAREAAhIickERAABSAREAAhIAARNCYnJjcWEhUQACEiJzUWMyAAETQCJwGpkKJ/pW1dJIBABghYSwgDIkAfOgOJ/qoXATdrCjsnBAcBAiAlRwZD/vdPCAMWEAQHDBsLFwMIIDkGAQEKAgYBARsPEQoDHB2xFx0fKmsmQUIjHtVnTz8BEiCNYIJ2BhloepxbBLgwRAMclX3+AsTcEPZUZQIM3OEBJwF//pL+zu68/usBegE1/ckBJgEWARIBG0hRk5WryP5q/rXVu57sAT0Bj7ehBBhOaVFCZxZoyzcGAyExBRHRnQ8IAc+MG2vmAQgSCAITAgUIBQkB/kREsQIBBgYCAxcKAwUBAiIPAgcEGgYUAQQCAQEBGBEKEf7MCQELCEEsB/Unhj9T/oRruD0kSgQSQyNr9QpAjjRCNlWFAYUKNv3n1/U+C0pid+oCO37+gf7a/t7+pnqzAWIBLgFkSP2f/u/+3wEqASCh0U2KFUT+sdr+vf50cwVbAX0BMNEBR08AAAgARP/zBgEFYgAQADQAQwBQAFkAZgBzAIUA80AehX18d3RkXVlVVFFQSklEQz88OzU0KyUWFRENCQgALi4uLy4uLi8vLi4uLi8uLi4uLi4uLi4vLy4vLi4uQBYAAIIId28JXWkJZDkIPxwJKwUIDTAZHx4Q7RDtEO0Q7RDtEO0fHgBAHWBHKCMBAX18YFVUUEpJR0Q8OygjFhUJCBICAAAAExEUEhc5ExQvLy8vQBhBMi4PAQGFdFlRQ0E1NDIuEQ8ADQEAAgATERQSFzkTFC8vLy+zegBaAT8/QBwAAH8EemwGYGcGWkwERzcEQR8GKBkGLgMEDzAZHx4Q7RDtEO0Q7RDtEO0Q7RDtHx4xMAEnJiMgERQWFwcmJyY1ECEyFwcGDwEnLgEjIgYVFBYzMjc2MzIVFAYjIiY1NDYzMhcWMzI3ByYjIhEQFxUuATUQMzIXEw4BIyInNRYzMjY/ARMHBgcnNzY/AQEgABEQACEiJyQREAAFIBEQACEgABE0JicmNxYSFRAAISInNRYzIAARNAInBEEclX3+AsTcEPZUZQIM3E0HOyoHCA9tTmRrgHK7FwIUGZh+qcfOmkpcMB0mG6Q7NaCNTVy5PjXcCqCPcGJTdoSXCwEyCEMuGAgoRAf+pAEnAX/+kv7O7rz+6wF6ATX9yQEmARYBEgEbSFGTlavI/mr+tdW7nuwBPQGPt6EEigo2/efX9T4LSmJ36gI7qwxfXQ4EW2u0qKrB2Rknc4rbuq3pIRERein+3/7pOQsOvZEBNjP+WJacRAUzkYkOAdsLaWMMD09vCwFG/oH+2v7e/qZ6swFiAS4BZEj9n/7v/t8BKgEgodFNihVE/rHa/r3+dHMFWwF9ATDRAUdPAAAGAEQCSwa8BVUAJwAwAEAAawB1AH8B4bQeHRIRAxcvPLE8Oy88sWxtLzyxUVAvPLFDQi88sXh3LzyxMBkfHrMODQkREP08szY1CDsQ/Ty0dXRzCFAQ/Tw8sl9ebRDdPLZNTEdGCQNCEBf9PLN+fQh3EP08sQAAHx62JyQjGBcQERDAwMDAwMCyOTg7EMDAtGBaV1ZeEMDAwMCye3p9EMDAtA8HBgANEMDAwMCzOjcxNRDAwMCyREFCEMDAtH98eXZ3EMDAwMBAGnFwa2ppaGdmZWRjYmFZWFVPTktKSUhFF0ZQERIXObMwLCsoLi4uLgBAEwAAAUFrYWAAIAYNBgEAJwAAMBkfHhMQzc0Q7e0Qzc3NzRMfHrEQDy88sTg3LzyxOjkvPLRWVUlIAxcvPLRYV0tKAxcvPLRaWUVEAxcvPLFPTi88sXp5LzyxfHsvPLUBEQ4CAA8RFBI5ORRAEBwBJCMeHRwYFxIHBgoNAgATERIXORMvQBY+MwEBf353dj48NTMxMCwrKA0BAAIAExEUEhc5ExQvL7UBOzYCADkRFBI5ORRADwF0cXBtZGNeUUZDCgIAThEUEhc5FEAUAXVsamloZ2ZlYl9QTUxHQg9gAgATERIXORO1AX14AgB7ERQSOTkUsQsBP7YAABQEHDAZHx4Q7R8eMTABBg8BBg8BLwEuASMHIxEXITcRKwEiBgcnNz4BMxc1JiMiBgcjJi8BBQYPASc3Nj8BByYjIgcRFyEnIScRNjMyFiUHERchNxEDIyczEzUDIwMRFB8CISchJyE3PgE1ESchBxM3AzcXBxsBJwURFBYXJyY9ARElBxEXISchJxE3AxYGAigQFwIFAhJAQjYHRv7vVAwfNy0FFgEHPE0ZHhVUQwUIFzkDAwYvKAIVAi4oA5wnLRIVYv7NFAEfUBgKNS0D2lJK/uxTsDoLNMHfKp0hFzv+vxIBKB3+9AxFKE8BN1epFpNPE0uIlEn+iSY7BToCtURo/sIPASJTRgVVCgNEGz8DBAdAMgL9nD1CAiQqNwQIPi0BIwM4SkhnBiw4bAYPBXUtBGccAf3JaxRWAkwBE2ZO/bxCQgFu/hoUAgle/bwBtP7pWSUYPhQiByVDTAHTRkr+KDgBmDYOMf6PAYJKhf5rXUYQCChHKQFOqy79yHAUWQJJLgAAAgG9BcoDVQbkAAMACQBXQAoJCAcGBQQDAgEALi4uLi4uLi4uLgBADgAAAQQHCQcBAgEBADAZHx4TEM7OEO7uEx8esQYFLzyxMBkfHrIAAwEQ3TyxBwkQ3bEAAB8esggHBRESOTEwAQcjNwMnMzcXBwMb9GqTZxh79hP7BuTGxv7mHMcYywAEAMgF2AM4BuUACwAaACkANQBrQAwzKCMiHRsZFBMODAkvLi8uLi8uLy4uLy9ACgAALQkzAwkJMBkfHhDtEO0fHgBAEAAAATABIAcBEQcBBgEAMBkfHhMQzhDuEO4QzhMfHrYWFhQTAwwRERIXOS+2JSUjIgMbIBESFzkvMTABMhYVFAYjIiY1NDYXFhUUBiMiJzUWMzI2NTQlFhUUBiMiJzUWMzI2NTQnMhYVFAYjIiY1NDYChCg4OCgoODikOEc1OyMvIjFG/oE4SDQ7Iy8iMUalKDg4KCg4OAblOCgoODgoKDgrGUo2SS8HIkUxJzEaSTZJLwciRTEnXDgoKDg4KCg4AAEAIQD8A+AEqwATAHqxExIvPLEPDi88sQUELzyxCQgvPEAPERANDAsKBwYDAgEADAQOERIXOQC0EA8IBwMXLzy0ABMEAwMXLzyxMBkfHrYODQoJBwMHEBf9PLYSEQYFBwMDEBf9PLEAAB8etQEMCwkAABMREjk5E7UBAgEBAAMRFBI5ORQxMAETFwchFSEHIRUhAyc3ITUhNyE1Aih5amIBNv6VVgHC/gl/amj+ugF7Vv4uA6kBAjHRcrly/vAy3nK5cgAH/94AAAgjBVUAaAB0AHgAfgCFAIkAmQIJtDY1MjEDFy88tHl+dXgDFy88tCQjGBcDFy88sRsaLzyxhocvPLEwGR8etiAfDAsIAxcQF/08th4dCgkJAzEQF/08s4mICIcQ/TyxAAAfHkAhfXx7end2cnBua2loZ2ZhYFtaUlFMSEdGRURDPDc0MzAxEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxMDEwMDAwMDAtS8qEQIAGhDAwMDAwEAJJyIhHBkIBhoXERIXOUAMk5KPjo2Mi4qEg4B/Li4uLi4uLi4uLi4utgAAPwhyMBkfHhDtHx4AQB0AAAGOBI0EAIMHAgkFCAUHBQEAaABGBEUEAAAwGR8eExDt7RDNzRDt7e0Q7hDt7RMfHrFEQy88tEhHMC8DFy88sSEgLzy0GRgLCgMXLzyxjIsvPLEwGR8esx0cBQoQ/TyzIyIEIBD9PLQkHx4FLxD9PDyxf4MQ3bEAAB8etCZwJh4vERI5OS9AFSV8e3draTw3NjU0MzIxKiclGxEiHhESFzkvtXp4TAMcIBESFzm3fXZbWlEFChwREhc5tQFmUgIAChEUEjk5FEASDgF+eXVnYWAaFxEODAIMBwIAExESFzkTL7OEgH+DERI5ObcBAYiHAgAAABMRFBI5ORMUtwEBiYYBAAIAExEUEjk5ExRACQGTko+KBAIAjREUEhc5FLYAABYEDjAZHx4Q7R8eMTABBgcmJy4BKwIRMxE2MzIWFyYnLgEjBxEzNxEnIREzETMXIxE3Fzc+ATcWHwEWFyE3NQcnNzUHJicmLwEHBhUUFh8BISchJyE+AT8BJi8BJic3Fh8BFh8BFhc3Ji8DNxYfAxMnAyYnBwYVFBcmNTQ3AQMXNxEBFzcnASUXBg8BJzYHEScRAQchJyE3JyYnHwIWHwEWB212NgQCL2BzW8E+NTilgCUJBUBxnz7Igov+6D7aGtkNnlGDhBkxOCUFD/uGp3ULgKceQS8nB2JHMlsL/acPAjc3/dlnzIdkMyggAwhlBwIYFBMUAgcZBwElKgYNCAImLgb0mlwTGFljdD5jAcX8j23+mMEnngEeA68JU0sFD0SlGgG2M/uJDAR2HwWAHyADJR4jMwIFVZiSCgZ3R/5EAYkDKUAGAy0WAf6Stf40vP3IAgQa/hYBAwQOaG2WUjcIFpHikx2eXNUgUjsnB5pvVjlRWwsbNybV0podCQcBApQIAhsWEBECBiQGAioxCBsIAiovBgF1hv0KFROGlWVqOTlMbJUCe/6Inn4CJ/3r0S2xAauSFV6lChCt9P4rDQHV/HhVGzIGo4cKCFZCL0MDAAUAL//oBNAFYwAUACUALAA7AFIA+EAkUkpJSEdGRUA+PTw7NzQzLSwmHx4cGxkYFhUUEw4MCwoJBAEALi4vLi4uLi8uLi4uLi4uLi4uLi4uLi4vLi4uLi8uLi4uLi4uQBAAAE8IQDEKDioINyQKBDAZHx4Q7RDtEO0Q7R8eALELCi88sQAULzyxR0YvPLEwGR8es0lIBEYQ/TyxAAAfHkARBwE0MywfGxkYFgwJBwsCAAoRFBIXORQvQBU5AQFSPj08OzktJh4cFRMBDQEAAgATERQSFzkTFC+1AUpFAgBIERQSOTkUs0MAEQE/P0AQAABMBEMvBREoBDkhBQcwGR8eEO0Q7RDtEO0fHjEwAQcWEhUQACMiJwcjNyYREAAzMhc3AwEWFwcmJwEmJwEWMzISETQDJiMgERQXASYjIBEUFzcnJjUQITIXJRcHFhEQACEiJwcjNzM3FjMgABE0AicD9ktXb/7i7LOLQF9fugEw9aB3Kxv+SB8sCj4hAc0HEP4LVp6an4A9Xf7uEwGzT4j+tDApAhcBJl1PARATNcb+sv75mI8/vhGdPaiGAQMBQ2xfBWGCSf7Op/7h/qNnaZ21AUcBIgFpTkz+jP0hMCILKjMDCh0o/LF5AR8BFqEBGTP9+YdZAtxi/bTya0YOhm8CIkC+FlnF/pz+yf51YW0cZ1sBfAEwqwEiVgAAAwAGATQFTwQhABgAIwAvAHC1JBkTCwYALi8uLy4utwAAKgYfEzAZHx4QzRDNHx4AQA8WAwEBJBkWCwMABgIAAAATERQSFzkTFC8vQAoQCQEBEAkBAAIAExEUEjk5ExQvL0AQAAAtBwMnBwkiBxAcBxYwGR8eEO0Q7RDtEO0fHjEwAQ4BIyImNTQ2MzIXNjc+ATMyFhUUBiMiJhMeATMyNjU0JiMiAy4BIyIGFRQWMzI2Am9Sh1uBtMeUxZgOB02BZou92J9kvixdrGNVdJWEwPtgjlhVa4p4W3UCKn1hxIyl3vUXC3xZ1Jyi24IBQJeGfFtjcP7mmXVzXFpoOwADAJkAPAQZBH0ACwAfACUBBrEACy88sQgHLzyxCgkvPLEGBS88sR4dLzy2DB8cGxgXBRcvPLESES88sRQTLzyxIiEvPLEwGR8eswIBCAcQ/TyzBAMIBRD9PLMQDwgREP08thYVDg0JAxcQF/08syAlCCEQ/TyxAAAfHrIkIyUQwMCzGhkXHRESOTkAsQsKLzyxAwIvPLEXFi88sRsaLzy2Hx4TEg8OBRcvPLEMDS88sSMiLzyxMBkfHrYACQgBBwMKEBf9PLMHBgQCEP08th0cFRQHAw4QF/08sxkYBBoQ/TyzJSQEIhD9PLEAAB8etQEFBAIAAhEUEjk5FLUBERANAgATERI5ORO1ASEgAgAkERQSOTkUMTATIREhNRcVIREhFSEBMxEzERcRIRUhESM1ISchNSE1IQEXFSEnIZkCCwFeF/6nAQj80QFYfTYcAQj+pn3+2xIBN/6oAVgCERf8tBIDRwELAVt8FoL+wX0D7/6cASwR/uV9/rL8HDZ9/bsWghwAAgBVAAADrAUBAAYACgBksQYFLzy0AAQDAQMXLzyxBwovPLEJCC88sgIBBRESOQBACwAAAQcFCAUAADAZHx4TEO3tEx8esQoJLzxADAEBBgUEAwIFAgAAABMRFBIXORMUtwEBAQABAAIAExEUEjk5ExQxMAEVCQERATURIRUhA6z9ugJG/KkDV/ypBQFl/on+ef7zAkIP/XlbAAIAVQAAA6wFAQADAAoAZLEAAy88sQIBLzy0BAgHBQMXLzyxCgkvPLIGCQUREjkAQAsAAAEABQEFAAAwGR8eExDt7RMfHrEDAi88QAwBAQoJBgUEBQIAAAATERQSFzkTFLcBAQgHAQACABMRFBI5ORMUMTA3IRUhPQEJAREBFVUDV/ypAkb9ugNXW1uRZQF3AYcBDf25EAAAAv+oAAAFJgVVAD4ASgG1ticmIyIfHgUXLzyxFxYvPLFBQC88sTAZHx62GxoNDAkDHhAX/TyzDw4IFhD9PLNHRghAEP08sQAAHx5AFTs5ODU0MzEwLi0sKyopKCUkISAdHhDAwMDAwMDAwMDAwMDAwMDAwMDAwLJEQ0YQwMBAFj49HBkYFRQTEhEKCQgHBgUEAwIBABYQwMDAwMDAwMDAwMDAwMDAwMDAwMDAtkpJSEVCP0AQwMDAwMDAtTo3NgMMHhESFzmzPAsODBESOTmyEBYOERI5AEAQAAABRQREBAAAPjQzAAAwGR8eExDNzc3NEO3tEx8esR0cLzyxIB8vPLQkIxoZAxcvPLQqKREQAxcvPLYuLQkIAwIFFy88sUNCLzyxP0AvPLEwGR8eQAkoJxUUDwwEBRAQF/08QAkmJRgXDg0HBRkQF/08tiwrCwoHAwIQF/08syIhBB8Q/TyzSEcEQBD9PLEAAB8esx4bHxwREjk5shYMDRESObY3NhMSBAIKERIXObQBPAIAAhEUEjkUQBIBPTs6OTg1MTAHBgUEAQ0zAgATERIXOROzRkFARBESOTm1AUpJAgBHERQSOTkUMTABBwEzEzcXBwMzFyEHFTM1NyEnHwEhBxUzFyEVFyE3NSMnMzUjJyE1IyczJyMnMy8CJichBwE3ATcXBwkBJxMhFRchJyEnNSEnFwT55/74PvnWD9foMyz+/Sk5EwEfLCAz/soHqyz+1JL+GY3HCM/5JwEgzwnNHdEutZMdP1B5Afh6AU8d/tpYFEwBFgEKgP/+xKv92QoB/5UBOSsaBVWD/kwBjYEbgP6NdEc4OB1+D4wJL3Dme3ufGC9wOB0qdOMqaX1Eg/4MMQHDYA9R/lkBp4P8H5/VG7q3fhIAAf/3/nYD0gOpACsAn7EdHC88sScmLzyxAAEvPLEwGR8esyUkCSYQ/TyzHx4JHBD9PLEAAB8esRgcEMS0EhINHhwREjk5L7IIJiQREjm2AAAOCRgwGR8eEO0fHgC0JiUeHQMXLzy3FQEBFQAAAwATERQSORMUL0APAQEnJB8cDQgBAAgCAAAAExEUEhc5ExSzCwAEAD8/QAoAACoHBCIHCzAZHx4Q7RDtHx4xMCUVBwYjIicmJw4BIyInBxQXFhUUBiMiJjU0NxIZATMRFBYzMjcRMxEUFjMyA9LTBAVJHAMHZ21MoT8BLBA6Ky05EDzLSFRsZckhMBxsJF0Cdg0bZz+xK2u1QiYtPDsuLFQBOgGAAZD9tJN8iwLQ/VVhQgAAAgA5/+EDyAWJABYAJgBltBQMBgEALi4vLy5ACgAAJAsGHAsMMBkfHhDtEO0fHgC0AQEAAQATEMDAE7YBARQCAAAAExEUEjkTFLcPAQEPAQACABMRFBI5ExQvsQkAP0AKAAAhBgkXBg8wGR8eEO0Q7R8eMTABNxYXFhIVFAAjIgA1NAAzMhYXFhcmAhMiBw4BFRQWFxYzMjY1NCYBIRTalnqp/v3Lwf8AAQC7TF86Bg5J1DBIOjBEOys+TWyPgwVkJVOcf/5lqd3+5wEV0cgBEyg3Bg3NAQT+ajYu2Gto0y5E9LnG4QABAGL+IgT8BVUAEQB0sQIBLzxAChEQCgkIBwYDAAEQwMDAwMDAwMDAsw8ODQEQwMDAAEALAAABBwYGBgEAMBkfHhMQ7e0THx6xEA8vPLEODS88sQMCLzyxAAEvPLEwGR8eswoJBw8Q/TyxAAAfHrcBAREIAgAAABMRFBI5ORMUMTATIREjLgEjIQkBITI2NzMDIQFiBEYoE5Sm/kEBmP4OAhi5wCkoRPuqAf8FVf6pm379D/x/kq3+PgOWAAH/8f4iBWQFVQArAPOxACsvPLEiIS88tCgnJiUDFy88sSAfLzyxDg0vPLQIBwYFAxcvPLEMCy88sQIBLzyxMBkfHrYcGxoZCgMlEBf9PLYUExIRCgMFEBf9PLEAAB8etiopJCMEJSEREhc5th4dGBcEHxkREhc5thYVEA8EEQ0REhc5tgoJBAMECwUREhc5AEARAAABKyopGBcWFQQDAgEAMBkfHhMQzc3Nzc3Nzc3NzRMfHrQhIA0MAxcvPEANJCMiHx4dEA8OCwoJCxcvPLEAAS88QA0BJiUcGxIRCAcIAAAJERQSFzkUQA0BKCcaGRQTBgUIAgIAExESFzkTMTADIRUjIgYVERQWOwEVITUzMjY1ETQmIyEiBhURFBY7ARUhNTMyNjURNCYrAQ8Fcy5XMTBTMf2nLFgxMVj+7lcxMVIy/acsVzExVzIFVSg7aPpjZzwoKDtoBZ1oOzto+mNnPCgoO2gFnWg7AAAB/8b/1gRzA8UAMwCFsQYFLzyxAAEvPLEwGR8esxYVCwUQ/TyxAAAfHrczMC8sJh4dFRDAwMTAwMDAtRwZGAMFFRESFzmyAgEFERI5sQ4GEMAAsQAzLzyxMBkfHrYdHAIBBwMzEBf9PLEAAB8eQA8BMC8sHhkYFhUOBQoBAAATERIXOROxBg4QwLMjABEAPz8xMAEVIQcGFREUFjMyNzY3FQUGIyInJjURND8CNjchBxQCBwYjIiY1ND8BNhI1IgYHJzc2MwRz/ucPKyIxDzALF/73FAYhKCArNCIFEv6rBSUUHlQoOBkWLkdsgk0ehDuLA8WKJW1R/rxtTAsDBCdaB0I0WQE5bkRLNgcU4U3+tVyQOysrMitaAX2fRGMev1UAAAH/2v3tBCYFuAAyAJuxGhkvPLEwGR8eswABChkQ/TyxAAAfHrIPCRkQxMSyKCIBEMTEQAoAACwKIhMKCTAZHx4Q7RDtHx4AswEGAwATEMQTswEfAQATEMQTQAkMAQEZDAAAAwATERQSOTkTFC+2AQEBAgAAABMRFBI5ExRACyUBASUaAAMBAAIAExEUEhc5ExQvQAoAAC4GHxYGBjAZHx4Q7RDtHx4xMAERFAYHBiMiJjU0NjMyFhUUBwYVFBYzMjY1ETQ2NzYzMhYVFAYjIiY1NDc2NTQjIg8BBgJ4GCVi13+pTDY1TBIUKB5ASxglYtKCq0s3NUwSFEVzEgUCBAz7/qWTQKWDYjlPRTAhHB8VGCOdhwQ4qpRApYFhPFBGMCEcHhM+4EEaAAAGADABsgMFBVwALwA9AEgAVQBZAF8BULA4L7EVFC88sVVULzyxWVgvPLFWVy88sVxbLzyxMBkfHrIKCTgQ3TyzTk0IVBD9PLNaXwhbEP08sQAAHx62KCcbEAIAOBDAwMDEwMCzUUtKTRDAwMCyXl1fEMDAsQsJEMCyTElUEMDAQAlCREI2LCMFFDgREhc5L0AKIT49PDAhDAYJFBESFzkvtgAANAkbMBkfHhDtHx4AsQwLLzyxTEsvPLFWWS88sV1cLzyxMBkfHrNJSgRLEP08s1hXBVkQ/TyzX14EXBD9PLEAAB8eQAwYEg4BGBIQDgQLAAATERIXORMvLy9ACgFENhUUCgUCAAsRFBIXORRAGSolAQFUUU4+PTwwLCooJyUjCQIAEAEAAgATERQSFzkTFC8vtQFVTQIASxEUEjk5FLUBW1oCAF4RFBI5ORSxBgE/QAoAAEYGGC4GBjAZHx4Q7RDtHx4xMBMmJzY3NjMyFhURFyMGIyInFjMyNzUOASMiJjU0NzY3NjU0JyYjIgcnNjMyFyYjIgUGBwYVFBcmNTQ3Njc1FQYHBhUUFxYzMjYFIyczJxE0JiceARURFxUhNQUXFSEnIYggLSg6X1uIejGhT2c0QDAralI5XkFadE42yGkQIytyTRVOfC0kKl1yAQkuXJwlCZxHJiwtnAcfFlFoARPMHM1FGCUyJgn9fAK+F/1eEQKcBKI9NAcZKWZz/pdGTR8SVlVCMmtSVjIjEAhVIyAKeg19ETHnJgkPdDQkHBZ1EAYTEjAMBA54ExQLcf4UYQFqP0AkHlBJ/paRVFQ4FlkcAAYAMAGyAxMFXAALABcAIwA1ADkAPwDpsTk4LzyxNjcvPLE8Oy88sTAZHx6zOj8IOxD9PLEAAB8esj49PxDAwEAOMS8uLSolJB4aGBIMCQMvLy4uLi8uLi4vLi4uL0ANAAAiCQkWCBoQCQMwGR8eEO0Q7RDtHx4AsTY5LzyxPTwvPLEwGR8eszg3BTkQ/TyzPz4EPBD9PLEAAB8eQA80BgEBNCUkGAwGBgIAAAATERQSFzkTFC8vQA4cAQEvLi0eHBIGAQACABMRFBIXORMUL7UBOzoCAD4RFBI5ORSxAAE/QBAAACcENCAGABQEHA4GBjAZHx4Q7RDtEO0Q7R8eMTABMhYVFAYjIiY1NDYTFjMyETQnJiMiERQXJjUQMzIXJiMiERQHNxYzMjY1NCYvATcWFRQGIyIFFSE1BRcVISchAX+Ur6+Rlb22Ny4xsx4tJ8EVKcE3LDRYwRQHVnum0C8gBwdjzKqJAbX9ewK+F/1eEQKcBVy5nI+st5CXsv3GFwETakIW/u1nPEdxARIfSP7spY4HR8igTooUAwdYqKjKKVRUOBZZHAAB/8AAAAWUBWsAMgB/sRMSLzyxMBkfHrMDAgkSEP48sQAAHx62IBwbFhUUEhDAwMDAwMS2Mi0sKAEAAhDAwMTAwMBACgAADgogBwooMBkfHhDtEO0fHgC0FBMCAQMXLzy0ADIWFQMXLzxACS0sHBsSAwYVARESFzmxJAE/tgAACgYkMBkfHhDtHx4xMAEDITU2NzYRNAIjIgcGFRAXFhcVIQMzHgEfAjUmJyYRNDc2ISAXFhUQBwYHFT8BPgE3BZRO/beZSYT1w9B0dYFMmv21TiobWFVB4LRf2sS/AUMBXcOj4luv80JITxwBGP7oflRhswEE/wE/pqbp/wC4bFF+ARhOQQQDCg5BVL8BE/vDwNy34/7cvUxCDQoDBUFMAAAFACL+4QNlBCkAHwBIAFQAWgBrAMpAGGNiXVtaWFdVUkQ3MCgiIB4cGxYODAsCAC4vLi4vLi4uLy4vLy8vLi8uLi4uLi8uLkAbAABoCF1MClJCCSI8CygvNxkIHhQIAgkIDjAZHx4Q7RDtEO0QzRDtEO0Q7RDtHx4AQA9gJQEBY2JgJQwLBgAAAwATERQSFzkTFC8vQBRPNAEBW1pYV1VPRDQgFgALAgAAABMRFBIXORMULy+3AQEcGwEAAgATERQSOTkTFEAMAABlBGBJTz8FJTAZHx4Q7RDNEO0fHjEwARYVFAcGDwEGFRQXJyY1NDY3PgE1NCc3NjU0JzcWFRQTFhUUBiMiJjU0Nj8BPgEvASY3NhceARUUBw4BFRQWMzI2NTQnNj8BNgMyFhUUBiMiJjU0NhMmJzcWFwEWFRQGIyInNxYzMjY1NC8BAj5GNR2CKUsoIyA1R3NcTAcrKAg5VUnJn6TbXG9qNFIDBAEKCg4YJJhkRWRRRmRTCgE2Oek2TEw2NUxMZ1crBjg9AVJZ+7PgjQeWxbLrDyoDEjldXWY3iixQSDpPHjM3OV1GcatmXCsKRycsOwg1Oy79rFlif6CyhV2MS0cjcCE3DgsKAQFBKImbZ3ZGVWlXPUIwBgEfIQNZTDU2TEw2NUz+rAgzCCEF/hdOf5HKogySvZA1IV8ABAA3/tgCRAQpABAAIAAsADwAp0ASPDU0Ly0qHBsYFhURDAkGAwEALi4vLi4uLi4uLi4uLy4vLi4uQAoAADoILyQKKjAZHx4Q7RDtHx4AsQABLzyxHBsvPEAMAQEYFhURCQUAAAMAExEUEhc5ExS1AQwGAQAAExESOTkTQA0yJwEBNTQyJwQCAAAAExEUEhc5ExQvL7cBATwtAQACABMRFBI5ORMUQAkAADcEMiEnMBkfHhDNEO0fHjEwEzMGFRQSFw4BBy4BJzc2EjcBBw4BDwE2NyYCNTMXFhIXATIWFRQGIyImNTQ2FxYVFAYjIic3FjMyNjU0J/UiAXFaYVomG1VZC11MCgFPEltiLCAtvlRmHAEMVGT+zDVMTDU2TEzYOGVEUTEGQTQ+WigCoREDsv6TbCtjam5vKhGTAQjV/T0JMF1SD5dpdQFfrQrU/vCOBExMNTZMTDY1TCo0TERmOwgmVj04OgAAAQBDAAADvAIiAAUAO7EDAi88sQUELzyxMBkfHrMAAQoEEP08sQAAHx4AsQAFLzyxAgEvPLEwGR8eswQDBwEQ/TyxAAAfHjEwIREhNSERAr39hgN5AbRu/d4AAQAiAAAFMwaWAAoATbEHBi88sQABLzxACgoJCAUEAwIHAQYREhc5ALEEAy88sQgHLzyxAAovPLEwGR8eswYFBgcQ/TyzAgEGChD9PLEAAB8esgkFAxESOTEwARUjASMDITUhEwEFM+v+hdqv/t4B1KEBdAaWQvmsAtdC/U4GLwAF/n7+tAVgBdgANwBNAFcAYwBnATyxX14vPLFmZS88s2NhWF4QwMTAsmdkZRDAwEAeV1VTUlBOTUxLQ0I6OTg3LyopJCIcGxoZEQ8LAgEALi4uLi4vLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4utgAAWghhMBkfHhDtHx4AtgA3KikcGwUXLzy2ADcqKRwbBRcvPLFMSy88sWRlLzyxMBkfHrYaGQIBBwMbEBf9PLM6OQRLEP08s2dmBGUQ/TyxAAAfHrQBTh8BABMQxMATQA9ACAEBX15DQkAIBgAAAwATERQSFzkTFC8vtQEPCwEAABMREjk5E7cBLyQiAwEAGxEUEhc5FEAOAQFXVVNSUE04BwEAAgATERQSFzkTFLcBAWNYAgAAABMRFBI5ORMUsSwBP0AQAABFBEA0BCwmBR8UBwgwGR8eEO0Q7RDtEO0fHjEwARchAw4BBwYjIiQnNj8CBhUUFjMyNj8BEyMnMzYAMzIWFwYHJiMiBgczEjMyFhcmLwEmIyIGBx8BIQMOAQcGIyInNxYzMjc+ATcTIScBFhcGByc2NyYnAQYVFBYfARUmNTQ3ATMVIwM2K/70gSAyN22tlv74FTdDYA8HclVeaycIfLgo9zIBCKh1wyFYWR6iZZEcQC+xLFISCwIhLjdGaBbFPP7ZeSE/PXrDl1YGa2/GdTk6IH4BGDgBhEQvs0wIVpAeNPrXDTUpB38RAUWJgQPadP1dqII7c8mBFSc6CDgkcZWmzi0CdHTnARd/YCVG9+HKAXlHNwsDJTO8pQ+s/ZCsmj14NwwueDuQpwKHoAF8LVRFRxZOMzox+0suLT5vGgQOQJk4KAKfGwACADMBpgPNA/AAFgAsAGi3JSQYFw8OAQAuLi4uLi4uLgBAEycbBAEBJyUkGxgXDw4ECQIAAAATERQSFzkTFC8vL0ALEQEBEQEAAwEAAgATERQSFzkTFC9AEAAAKwcbHwcnFQcECQcRMBkfHhDtEO0Q7RDtHx4xMAEXDgEjIi8BJiMiBgcGByc2MzIXFjMyHwEOASMiJyYjIgYHBgcnNjMyFxYzMgOiKzyiUjFPQIQ+NEI0Bw0qj6I9hnk4cVkrPKJSNIyBQTRCNAcNKo+iPoV4OXAD8BdicBgUKCI2Bg0X1Csm4xdicCwoIjYGDhjUKyYAAAL/+wAABVsFcgADAAsAQ7cLCgcEAwIBAC4uLi4uLy4uAEALAAABCwcKBwAAMBkfHhMQ7e0THx6xAgEvPLEAAy88tgEBBAEAAgATERQSORMUMTAJASEBBwEGFRQWMyEC5gJ1+qACcgj+ehwrOAL8BXL6jgVy6fyXPxsiGwAEACIBRwJWA7sABQANABMAGACyQBkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEALi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgCxBQQvPLECAS88sQsKLzyxExIvPLEQDy88sRYVLzyxMBkfHrMNDAQKEP08sxgXBBUQ/TyxAAAfHrUBAwACAAQRFBI5ORS3AQkIBgMCAAwRFBIXORS2AQEHAQACABMRFBI5ExS1AREOAgASERQSOTkUtAEUAgAXERQSORQxMBsBMwMTIzcTFwcTIyczARMzAxMjNxMjJzPxp1ZtbV4obhVjfoEgdf34p1ZtbV4nn4IfdAKlARb+6v7t7QEOG/H+xhkBRQEW/ur+7e3+yBkAAAQALgFDAkwDuAAFAAsAEQAZALZAGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEALi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4AsQIBLzyxBQQvPLEGCy88sQ4NLzyxERAvPLEUEy88sTAZHx6zCAcECxD9PLMWFQQTEP08sQAAHx61AQMAAgABERQSOTkUtQEKCQIABxEUEjk5FLUBDwwCAA0RFBI5ORS3ARkXEgMCABURFBIXORS2AQEYAQACABMRFBI5ExQxMAEDIxMDMwMnMzcXBwEDIxMDMxMDIyczEwMXAS+jXmxsXjEMXyANGwE7pF1sbF31wGYLX7KeMAKd/vABIQEK/YsdNSQuAVr+8AEhAQr+1P63HQEsARQjAAYAY//yBgQBRgALABsAJwA3AEMAUwDcsC8vsTAZHx6xJS8Q3bIfCy8Q/bIOCSUQ/rEqHxDdsQMOEN6yQQkqEP6yEwsDEP2xS0EQ3rEJExDdsjsLSxD9sUY7EN2xAAAfHrIUAxMREjm2GRsZDAMOAxESFzkvsjAfLxESObY1NzUoAyofERIXOS+yTDtLERI5tlFTUUQDRjsREhc5LwCyPiIGLzw8sTAZHx6zRCgMBhDdPDyzOBwADBDdPDyxAAAfHkARTjIWAU5MSzIwLxYUEwkGAAATERIXORMvLy+1UzcbAwwGERIXObVJAC0AEQA/Pz8xMBMyFhUUBiMiJjU0NhcWFRQGIyInNxYzMjY1NCclMhYVFAYjIiY1NDYXFhUUBiMiJzcWMzI2NTQnJTIWFRQGIyImNTQ2FxYVFAYjIic3FjMyNjU0J+Q2TEw2NUxM2TdlQ1EyB0A0P1koAYg1TEw1NkxM2ThmQ1EyB0A1PlooAYc1TEw1NkxM2ThmQ1AzB0A1PlooAUZMNjVMTDU2TCozTURmPAcmVzw5OjFMNjVMTDU2TCozTURmPAcmVzw5OjFMNjVMTDU2TCo0TERmPAcmVzw5Ov//AAAAAAYVBuIANgAkAAAAFgCzAAD//wAAAAAGFQbzADYAJAAAABYAtQAA//8AMP/zBM4G8wA2ADIAAAAWAMQAAAAGADD/7we0BV0AFQAjAGAAbwB2AHoBrbFhYi88tFdWS0oDFy88sU5NLzyxd3gvPLEwGR8etlNSPTwIA0oQF/08tlFQOzoJA2IQF/08s3p5CHgQ/TyxAAAfHrMvKiRiEMDEwLVgXUIzME0QwMDAwMC2VVRPTARNShESFzlAEnZ0c3AgHRwWFRQREA4NDAYFAC4uLi4uLi4uLi4uLi4vLi4uLkAKAABpCyoaCCAwGR8eEO0Q7R8eAEAOAAABcwcCDQQMBAAAMBkfHhMQ7e0Q7hMfHrEAFS88sSRgLzyxVFMvPLRMSzw7AxcvPLEwLy88sTAZHx60V1JRBWAQ/Tw8s1BPBTsQ/TyzVlUEUxD9PLI4BS8Q/bF2cxDdsQAAHx5ADQEdHBQREA4GBQgCAAwRFBIXORRADCIBAXp3IhYEAQACABMRFBIXORMUL7UnASdgAAATERI5Ey+1YV1OA1VRERIXObJiO08REjlADT8BTUpCPz06Mwc4AgATERIXORMvs3RwdnMREjk5twEBeXgCAAAAExEUEjk5ExSzLQEDAD8/QBMAAGsFJ2cFLUcEPxgEIggEAzAZHx4Q7RDtEO0Q7RDtHx4xMCEHBiMiJzUWMzI/AiE3JicXFh8BBwEmIyAREBcHLgE1ECEyEwcGIyAAERAAMzIXIQcGByYnLgEjDwERMxE2MzIWFyYnLgEjIgcjETM3ESchETMRMxcjETI2PwE2Nx4BFwE1NCYnJiMgERAhMhM3NgEHBgcnNjcBEScRAvUHTDChkn7ENiYbCARyIpA6HzeEEDT7sG5T/vmjCWNWASSEHQY2U/7x/sABLP5IRgQjEGc7CgU2fqOTIUBNRH54Lw4GUElpJkwVt4GB/vBA2RnZzKsxNQMJGk5Y/EgeJ1SV/q0BTdtHAhADsgd5KRJDa/7nGQEQcgVbCQYBP4WXDICAEFoEcUD9+/6Feg5H6MYCLfuHAxMBYwEtAS0BZBETf6AWC3hGBAH+PgGOBjZOCgY+GQT+jbH+Uaf9zgIDGv4XOlVcBRByjFkCJIqeqzyC/a793AEcBlADDAmkbxWbgf6e/kYNAboAAgAAAkYEHAMEAAMACQBKQAoJCAcGBQQDAgEALi4uLi4uLi4uLgCxAAMvPLEHBi88sTAZHx6zAgEHAxD9PLMEBQQGEP08sQAAHx61AQkIAgAGERQSOTkUMTABFyEnBSEnIScXA4ws/HIqBBz8TxYDoi4gAwR2dr4ciRcAAAIAAAJGBbYDBAADAAkASkAKCQgHBgUEAwIBAC4uLi4uLi4uLi4AsQADLzyxBwYvPLEwGR8eswIBBwMQ/TyzBAUEBhD9PLEAAB8etQEJCAIABhEUEjk5FDEwARchJwUhJyEnFwUmLPrYKgW2+rUWBTwvIQMEdna+HIkXAAAEACIDVQMoBV0AEQAfADEAPwDRsAsvsTAZHx6xFwsQ3rI0CAsQ/rIBCRcQ/bEhNBDesRQBEN2yNwkhEP2xKzcQ3bEAAB8eshIBFBESOUANGg4HHBoWDgcFAAcXARESFzkvLy+zEAoLFxESOTmyMiE0ERI5QA06Lic8OjYuJyUgBzchERIXOS8vL7MwKis3ERI5OQCxMhIvPLEwGR8esiAAEhDdPLIqChIQ3TyyNhYKEN08sQAAHx6zIQESABESOTlADQE8MCslHBALBQgKAgATERIXORO1ATcXAQAKERQSOTkUMTATJzY/AQcmNTQ/ARcHBhUUFwYHJjU0JRcHBhUUFwYHBgUnNj8BByY1ND8BFwcGFRQXBgcmNTQlFwcGFRQXBgcGpBNSUhQESIAKFQt0XHHIHgEoCApnNQwGcQGdE1JTEwRIgAoVC3RccMkeASgICmc2DQZxA1UVNhoHAUtYW2cIFQhcUFRYJRhHQ/lfDglWeFU/BQIpXxU2GgcBTFdbZwgVCFxQU1klGEdD+V8OCVZ4VT8FAikAAAQAIgM3Ay0FXQANABoAKAA1AL+xKwUvPLEwGR8esR0FEN6yKwUFEN48si4KHRD9sRMFEN6xIC4Q3bICChMQ/bEQAhDdsQAAHx6yHy4gERI5tyMtJSMbBB0uERIXOS+2MzUzKQMFHRESFzkvsgQTBRESObcIEgoIAAQCExESFzkvthgaGA4DEAIREhc5LwCxHwQvPLEwGR8esy0SBgQQ/TyyNRoEENw8sxsABBoQ/TyxAAAfHrMuEwQSERI5OUALASklIA4KBQYaAgATERIXORMxMAEWFRQFJzc2NTQnNjc2NxYVEAUnNzY3NjU0JyUWFRQFJzc2NTQnNjc2NxYVEAUnNzY3NjU0JwK6Hv7YCApnNg0GcrUQ/rYOEadCQhH+NB7+2AgKZzUMB3C2Ef61DRGpQUISBV1FRPpfDwhWeVU/BQIqGTs0/uV+GwZCY2NpNFAQRkP5YA8IV3hVPwUCKRo9Mv7lfhsGRGFkaDRQAAIAIgNVAZwFXQARAB8AZUAMHBcWFBIQCwoHBQEALi4uLy4uLi4vLi4uQAoAABoJFA4IBzAZHx4Q7RDtHx4AswEWAQATEMATQAoBARIBAAMCAAAAExEUEhc5ExRADQEBHBcQCwoFBgEAAgATERQSFzkTFDEwEyc2PwEHJjU0PwEXBwYVFBcGByY1NCUXBwYVFBcGBwakE1JSFARIgAoVC3RcccgeASgICmc1DAZxA1UVNhoHAUtYW2cIFQhcUFRYJRhHQ/lfDglWeFU/BQIpAAACACIDNwGoBV0ADQAaAF9AChoTEhAOCgUEAgAuLy4uLi4vLi4uQAoAABgIEAgJAjAZHx4Q7RDtHx4AswEAAQATEMATQAoBARMSBAMCAAAAExEUEhc5ExRACwEBGg4KBQQBAAIAExEUEhc5ExQxMAEWFRQFJzc2NTQnNjc2NxYVEAUnNzY3NjU0JwE0Hv7YCApnNQwHcLYR/rUNEalBQhIFXUZD+WAPCFd4VT8FAikaPTL+5X4bBkRhZGg0UAAABgCZAPsEGQRyAAMACQAVACUAMQBBANaxBAkvPLE5HS88sTAZHx6zLxMIHRD9PLMpDQkdEP08sggKExD8sjQYDRDdPLMDAggIEP48swABChgQ/DyyBgUBENw8sQAAHx6yBxMIERI5szoeDR0REjk5QAs/I0E/MiUjFgYYDRESFzkvLwCxCQgvPLECAS88sTAZHx6zBwYFARD8PLIEBgEQ/LImBgYQ/rMAAwYEEPw8sTImEN6yLAcyEP2yNwYsEP2xChYQ3bEAAB8etjw8OjkDLDcREhc5L7JBMiwREjmyBQQBERI5sxsCEAI/PzEwARUhNQUXFSEnIQEyFhUUBiMiJjU0NhcWFRQGIyInNxYzMjY1NCcDMhYVFAYjIiY1NDYXFhUUBiMiJzcWMzI2NTQnA8j80QNpF/y0EgNH/isrPT0rKz09rTNVOUAoBTQqMUggeys9PSsrPT2tM1U5QScFNSkxSCADGX19NxaCHAIMPSsrPT0rKz0nKD44VDMGHUUwLS79zz0rKz09Kys9Jik+OFQ0Bh5FMC0uAAACAJf/ywS/BYsAAwAHAFG3BwYFBAMCAQAuLi4uLi4uLgCzAQABABMQwBO2AQECAAADABMRFBI5ExRADAEBBwYFAwEFAgAAABMRFBIXORMUtgEBBAEAAgATERQSORMUMTAJBwKrAhT97P3sAhT+bAGUAZMFi/0g/SAC4AIq/db91QIrAAAF/9AAAAXMBuUAMgBDAE8AXgBqAUixLSwvPLE6OS88sTM0LzyxMBkfHrMpKAksEP08s0A/CDkQ/TyxAAAfHrcrCAYFAgEALBDAwMDAwMDAsj08PxDAwEANKiIhHhwaGBMSDgwJKBDAxMDAwMTAxMDAwMC1BwQDAygsERIXObM+OzQ5ERI5ObZoXVhXUlBNLy4vLi4vL0AKAABiCWhHCU0wGR8eEO0Q7R8eAEAVAAABZQFVBwFKAT4EPQQAAAEAADAZHx4TEM3NEO3tEM4Q7hDOEx8esSsqLzyxPDsvPLEwGR8esURKEN2xUFUQ3bFfZRDdsQAAHx5ACiIhHhoVExIQDgEQwMTAwMTAwMDAtAE0MwEAExDAwBNADAEtLCkoCQQDBwIAKhEUEhc5FEAKAQgHBgUCBQECABMREhc5E0AJAUA/OjkEAgA9ERQSFzkUtlpaWFcDUFUREhc5LzEwAyEHATcBNxcHARM2NTQnBiMiJzUWMzI2NTQnFhUUByQ/ARcHBgcGBwERFyE3EQMnLgEnARUHDgEHAREXISchJxEBNzYlMhYVFAYjIiY1NDYHFhUUBiMiJzUWMzI2NTQnMhYVFAYjIiY1NDYwAfl8AU0g/tdpFVsBFeBhRicnOyMvIjFGJjgYAQmwDAYKs3QtE/6Mkf4ZkPA0R1tZBfEKVHl3/pay/Y4MAkmYAXE6m/3/KDg4KCg4OLU4SDQ7JDAiMUalKDg4KCg4OAVVgf4KMwHDZBBU/lUBYZpMOEwcLwYhRTEmMhpJKSNDYQYIC7rASR/9rf5qhYUBlgFxU29mRgEtKQpQoL39xv541xu8AY8CRlz35jgoKDg4KCg4KxpJNkkvByJFMSdcOCgoODgoKDgAAAL+y//1AoMFagADAAkAS0AKCQgHBgUEAwIBAC4uLi4uLi4uLi4AsQIBLzyxAAMvPLEJCC88sTAZHx6zBAUECBD9PLEAAB8etwEBBwYBAAIAExEUEjk5ExQxMAkBIwkBMwEXASMCQfzoXgMY/PpqAyoS/NNuBWr64QUf+qYFPRX6vQAE//3/3wTIBXYAXABoAHcAgAAAATIXFSYjIgMzFyEGFRQXMyY1NDc0NSEnFxchBhUUFzMXIRIhIBM2MzIVFAcGISInJicjJzMmJyMnMyY1NDcjJzM2NyMnMzY3NjMyFjMyNxcHBgcHJyYnJiMiAzMSExUmJyYnIScXFyEWJQIhIic1FjMyNzY3Njc3EwcGByc3Njc3AqxgUVtRxS/QIP6lBQNDAwEBXykcL/6dAQLdIP6sPgEqASIhBB4nLF3+3dmOgTI4CjwFBFgjcAICHgorAgRWI403gI7GTfg2NSoQC2Y2CQ0VSlWC9jpDNb9iQzUWAU0pHC/+tDYCpyH+QKeQgLWScnYrFQoCQgtxPRsLJDRaBOtVDUn+5Fw7PysrJTcHHBwIaQx3CiU2JFz+VAFpKkFhaNx+csgaFhdcJCUgIBoXFlzDeIVUHQkTsYkXB4pZZ/6TATX7wQoSdVt9aQx3/vH+BWcIVEpOiEZwFwMfE8OQDRlRXaAAAgAiAUcBhwO7AAUADQBtQA4NDAsKCQgHBgUEAwIBAC4uLi4uLi4uLi4uLi4uALEFBC88sQIBLzyxCwovPLEwGR8esw0MBAoQ/TyxAAAfHrUBAwACAAQRFBI5ORS3AQkIBgMCAAwRFBIXORS2AQEHAQACABMRFBI5ExQxMBsBMwMTIzcTFwcTIyczIqdWbW1eJ24VYn6CH3QCpQEW/ur+7e0BDhvx/sYZAAACAC4BQwGAA7gABQANAG1ADg0MCwoJCAcGBQQDAgEALi4uLi4uLi4uLi4uLi4AsQIBLzyxBQQvPLEIBy88sTAZHx6zCgkEBxD9PLEAAB8etQEDAAIAAREUEjk5FLcBDQsGAwIACREUEhc5FLYBAQwBAAIAExEUEjkTFDEwAQMjEwMzEwMjJzMTAxcBL6NebGxe9MBlDF+zni8Cnf7wASEBCv7U/rcdASwBFCMABABE/08EbwX5ADcAOwA/AEkB1rQkIxgXAxcvPEALJyYhIBsaFRQPDgkXLzxACycmISAbGhUUDw4JFy88sQUELzyxMTAvPLQ0MwgHAxcvPLE4OS88sTw9LzyxQkEvPLEwGR8eQAk3NisqCwoJBQ4QF/08tgAtLAEIAwQQF/08szs6CDkQ/TyzPz4IPRD9PLNIRwhBEP08sQAAHx6yRURHEMDAtElGQ0BBEMDAwMBAESglIh8eHRwZFhMSERANDg4XERIXOUANNTIvLikMCQYDAgoHMBESFzkAsQ0MLzyxFBMvPLYANxoZBgUFFy88tCAfAgEDFy88tjIxLCsmJQUXLzy2MjEsKyYlBRcvPLEpKC88sURDLzyxSUgvPLEwGR8ethYVCgkFAwUQF/08tjY1IiEFAyUQF/08sxAPBBMQ/Ty2HBsEAwQDARAX/TyzRkUEQxD9PLNAQQRIEP08sQAAHx5ACwEXEhEOCwgGDwAAExESFzkTQAkBHh0YBwQCAAURFBIXORS1ATQjAwIAExESOTkTtQEzJAEAJREUEjk5FEALATAvLi0qJwYoAQATERIXORNADQEBPz49PDo5BgIAAAATERQSFzkTFLcBATs4AQACABMRFBI5ORMUtQFHQkEAABMREjk5EzEwAREzFyMRMzcRJyMRFyE3ESMHJzczNSMHERczESMHJzczNSMHERczNSchBxUzNTcXBxUzNxEnIxEBEScRExEnEQMjERchJyEnETMC1skdzZehqOaA/haixIsXm8vlqKHsxIsXm8vlqKHsjQHchz1xEWaUoajmAdYaGhqZzbD9yxkCFpHJAsEBNRv+5qP+Xaz9w4eHAeiRFZc6rAGjowEaixWROqYBoqj0gYjt4W8UZdeo/l6m/pECSf5PEAGv/hv+XRABov7W/hDZG7MCFgAAAgAAAf8BbgNkAAsAGwBTtRsUEw4MCS8uLy4uLkAKAAAZCA4DCgkwGR8eEO0Q7R8eAEANEQEBGxQTEQwFAgAAABMRFBIXORMUL7EAAj9ACQAAFgQRBgAwGR8eEM0Q7R8eMTATMhYVFAYjIiY1NDYXFhUUBiMiJzcWMzI2NTQniDlPUDg5T1DjO2tGVTQGRTZBXikDZE85OU9POThQLDZRR2s+CCdbPzs9AAACACL/CQGoATAADQAaAFdAChoTEhAOCgUEAgAuLy4uLi4vLi4uQAoAABgIEAgJAjAZHx4Q7RDtHx4AQAsBARMSBQQEAAADABMRFBIXORMUQAsBARoOCgAEAgAAABMRFBIXORMUMTABFhUUBSc3NjU0JzY3NjcWFRAFJzc2NzY1NCcBNB7+2AgKZzUMB225Ef61DRGpQUISATBGQ/lgDglVeVY/BAMoGz4x/uV/HAZDYmRoM1AAAAQAIv8JAy0BMAANABoAKAA1AMqxKwUvPLEwGR8esR0FEN6yKwUFEN48si4KHRD9sRMFEN6xIC4Q3bICChMQ/bEQAhDdsQAAHx6yHy4gERI5tyMtJSMbBB0uERIXOS+2MzUzKQMFHRESFzkvsgQTBRESObcIEgoIAAQCExESFzkvthgaGA4DEAIREhc5LwCxHwQvPLEwGR8esy0SBgQQ/TyyNRoEENw8sxsABBoQ/TyxAAAfHrMuEwQSERI5ObUBIAUAAAQRFBI5ORRACQEpJQ4KBBoAABMREhc5EzEwARYVFAUnNzY1NCc2NzY3FhUQBSc3Njc2NTQnJRYVFAUnNzY1NCc2NzY3FhUQBSc3Njc2NTQnAroe/tgICmc2DQZytRD+tg4Rp0JCEf40Hv7YCApnNQwHcLYR/rUNEalBQhIBMEVE+14OCVV5Vj8EAyoZPDP+5H4bB0JjY2k0TxFGQ/pfDglWeFY/BAMpGj0y/uV/GwdDYmRoM1AAAA4AIv/YB2cFfQADAAkAGgAmAC8AQABSAF4AZwB4AIoAlgCfALABrUAyqqmkoaCUjoqFgoF/fXlycWxpaFxWUk1KSUdFQTo5NDEwJB4aFRIRCgkIBwYFBAMCAQAuLi4uLi4uLi4uLi4uLy4vLy4uLy4uLi4uLi4vLi8vLi4vLi4uLi4uLi8uLy8uLi8uLkAoAACvCKSeCY6aCZR+CIV3CGxmCVZiCVxGCE0/CDQuCR4qCSQPCBUwGR8eEO0Q7RDtEO0Q7RDtEO0Q7RDtEO0Q7RDtHx4AsQIBLzyxAAMvPLEHBi88sTo5LzyxMDEvPLFycS88sWhpLzyxqqkvPLGgoS88sTAZHx6zCQgEBhD9PLEAAB8etQESEQIACBEUEjk5FEANGAEBGhgKBQQFAQACABMRFBIXORMUL0ANi1MhAQGLUyEDAgAAABMRFBIXORMULy8vQBFQPDcBUlBKSUdFQTw3CTkAABMREhc5Ey8vL0ANiAGKiIKBf315B2kAABMREhc5Ey9ADqwApwCRAHQAbwBZABsBPz8/Pz8/P0AfAACcBpGXBYt7BIhkBllfBVNDBFAsBiEnBRsMBBgwGR8eEO0Q7RDtEO0Q7RDtEO0Q7RDtHx4xMAkBIwEfAQEjJzMTJiMiBhUUFyMuATU0NjMyFycyFhUUBiMiJjU0NhciBhUQMzIREDczHgEVFAYjIiczFjMyNjU0ASYjIhUHFxYXIy4BNTQ2MzIXJzIWFRQGIyImNTQ2FyIGFRAzMhEQNzMeARUUBiMiJzMWMzI2NTQlJiMiFQcXFhcjLgE1NDYzMhcnMhYVFAYjIiY1NDYXIgYVEDMyERA3Mx4BFRQGIyInMxYzMjY1NAP5/TRXAsmBEP0vYBBjIxoaMyZDDS0jLj4oG1l1k4Z5fY6Nd0c+jIIsD0ZOl3cxIw8bGXGVAXkbGlUEAws1DC8iLj4oG1l0lIV6fI+Nd0c+jIIsD0ZOlngyIg8ZHXGUAZEbGlUEAws1DC8iLT8oG1l0lIV6fI+Nd0c+jIIsD0ZOlngyIg8ZHXGUBVP69gUKFxz63hsEyRRXcrhHI29wfl4qm8efnKy7pJi3UXqM/u8BCwEMIS6naKHLGAnFlrz9SxRufTJ0NyZscH9dKpzInZ2su6SYt1F5jf7vAQoBDSEup2ihyxgJxJa7GRRufTJ0NyZscH9dKpzInZ2su6SYt1F5jf7vAQoBDSEup2iiyhgJxJa8AP//AAAAAAYVBucANgAkAAAAFgC0AAD//wAAAAAFDQbnADYAKAAAABYAugAA//8AAAAABhUG5AA2ACQAAAAWALIAAP//AAAAAAUNBuUANgAoAAAAFgC3AAD//wAAAAAFDQbiADYAKAAAABYAuQAA//8AKQAAAo4G5AA2ACwAAAAWALwAAP//ACYAAAKDBucANgAsAQAAFgC+AAD//wAPAAACcgblADYALAAAABYAuwAA////8wAAAnIG4gA2ACwAAAAWAL0AAP//ADD/8wTOBuQANgAyAAAAFgDBAAD//wAw//MEzgbnADYAMgAAABYAwwAA//8AMP/zBM4G4gA2ADIAAAAWAMIAAP//ACL/6QTHBuQANgA4AAAAFgDHAAD//wAi/+kExwbnADYAOAAAABYAyQAA//8AIv/pBMcG4gA2ADgAAAAWAMgAAAACANEF2gMuBucADAASAIRAExIREA8ODQwLCgkIBwYFBAMCAQAuLi4uLi4uLi4uLi4uLi4uLi4uAEAQAAABDQcOBwECBwEHAQAwGR8eExDu7hDu7hMfHrEEAy88tAwLCAcDFy88sRAPLzyxMBkfHrIKCQEQ3TyxEQ4Q3rEAAB8etQYFAAMJBxESFzmyEhEPERI5MTABByMnMzcnByM3MxcjBSMnMycXAcd4VxJgcxplaaiCrKEBKOcTyK0lBmaMFYcddMjIRRXKCAAAAwC3Bd0DSgbzABgAJAAsAJ6xJSYvPLQrKikoJhDAwMDAQAkgHxoZGAwLAgAuLy4uLi4uLi61AAAWAjAZHx4QzR8eAEAQAAABKQcoBwEdBwEFAQAwGR8eExDOEO4Q7u4THx6xDAsvPLEAGC88sSsqLzyxMBkfHrEPBRDdsRkdEN2yJQcoEP6xAAAfHrUTCRMJGAsREjk5Ly+3IiIgHxoEGR0REhc5L7ImJSoREjkxMAEWFRQGIyInJiMiByM0NjMyFxYzMjY1NCcfARQGIyInNxYzMjcFFQYHIyczNgL+AVtAR3RCHUIKR2lNQnswHBskAYIUaU4yQA04KJQS/h4VCFAQTwsG4hIISGU6Ik5WdEkdKR0HCBwSW3weDRXHcx4dLRc4AAIAYgXsA50GoAADAAkAa7EDAi88sQABLzyxBgUvPLEwGR8eswQJCAUQ/TyxAAAfHrIIBwkQwMAAQA4AAAEHBwYHAQIBAQAwGR8eExDOzhDu7hMfHrEJCC88sTAZHx6zAAMFARD9PLIEBwYQ/LEAAB8esgUECBESOTEwARUhNQUXFSEnIQNN/RUDJBf8+BEDAgagYmI3F2YcAAACALwFywNEBv4AEgAeAEdAChoZFBMRCwkIAQAuLi4uLy8uLi4uAEALAAABHQcBDgEAMBkfHhMQzhDuEx8eswUFAQ4REjkvtxYaFhQTBBkdERIXOS8xMBMzFhcWMzI2NzMWFRQGIyImNTQXNxYzMjY3Fw4BIyK9RwoZOnxmZwdDAZ94fqR1ClhxfpoTFQquiYEG/jgUMDxACgNffn1hAukPN4B5EHWMAAACAXUF2AKMBuUADgAaAEK1GA0IBwIALi8uLi8vtgAAEgkYMBkfHhDtHx4AQAsAAAEVAQUHAQAwGR8eExDuEM4THx62CgoIBwMABRESFzkvMTABFhUUBiMiJzUWMzI2NTQnMhYVFAYjIiY1NDYCVDhINDsjLyIxRqUoODgoKDg4BroaSTZJLwciRTEnXDgoKDg4KCg4AAADAUYFtwK6BxsADwAbACcAgrAfL7EwGR8esQcfEN2yJQkfEP6xGQcQ3bETJRDdsQITEN2xAAAfHrIIHwcREjmzDwATJRESOTmzDQ0CExESOS8AsCIvsTAZHx6yFgYiEP2yHAciEP6yBQYWEP2yAAYcEP2yEAQAEP2xAAAfHrYKCggHAxYFERIXOS+yDwAcERI5MTABFhUUBiMiJzcWMzI2NTQvATIWFRQGIyImNTQ2FyIGFRQWMzI2NTQmAl9bY0VRNgg5O0BeUX88VFQ8O1RUPBsmJhsbJiYG/S9mSWg7BzBeQVM5J1M8PFNTPDtUTyYaGyYmGxomAAUBM/42AtQADwAaAB4ALgA0ADcA5kAYNzY1NDIxLy4nJiEfHh0cGxoZFxYNCgUALi8uLi4uLi4uLi4uLi8uLi4uLi4uLi4uQAkAACwIIRIFMBkfHhDNEO0fHgBAEQAAATUAMQcAHwcAGwQAADAZHx4TEO4Q7hDuEM4THx6xGhkvPLEwGR8esh0GGxD9sSQfEN2yNAYxEP2yNwQ1EP2xAAAfHkAQCAIBARcWDQoIAgAHAAADABMRFBIXORMULy+zHhwbHRESOTm3KS4pJyYEHyQREhc5L7MyLzE0ERI5ObI2NTcREjlACgAAFAYCDwUIMBkfHhDtEO0fHjEwBTYzMhYVFAYjIic3NjcUMzI2NTQjIgcnNjczHwEHJxcWFRQGIyInNRYzMjY1NCcHNjMVBg8BFwcCJgoFJzFrU2M5CDsnPhwrOR0VEh8QZygWCxg7Q3VNWCs3P0RwMa0IJRINChgTSQFFN1dzYwQmIF5NNEMdEE5JIBckDiY1Z1B6LAkggE5DOkoiCgodTgsMAAQBAAXKA6UG5AADAAkADQATAJJAFBMSERAPDg0MCwoJCAcGBQQDAgEALi4uLi4uLi4uLi4uLi4uLi4uLi4AQBYAAAEOBxMHAQwLAQQHCQcBAgEBADAZHx4TEM7OEO7uEM7OEO7uEx8esQYFLzyxEA8vPLEwGR8esgADARDdPLIHBQkQ/bIKDQsQ3TyxERMQ3bEAAB8esggHBRESObISEQ8REjkxMAEHIzcDJzM3FwcBByM3AyczNxcHAk3jaoFOGntHFUwBwONqgU4ae+UV6gbkxsb+5hw9F0IBGsbG/uYcxxjLAAMBMP5gApoAEgASABkAJQChQBAlJCAfGxoZFxYTEhALCAcALi4uLi8uLi4uLi4uLi4uLrUAAAMQMBkfHhDNHx4AQAsAAAElABkEAAAwGR8eExDuEM4THx6xABIvPLEwGR8esRcZENyxHSUQ3bEAAB8eQAwNAQENCwgHBAAAAwATERQSFzkTFC+zFhMZFxESOTlACiIkIiAfGxoGJR0REhc5L7YAAAUHDTAZHx4Q7R8eMTAlDgEVFDc2NzMGBxUGIyImNTQ3FwcGDwE2NxcHBiMiJzUWMzI/AQJnTnksPEgNEQVURjNKs6sMaiAaG44TEz0+OC4qK0I1FRIvlzInAgNhOV0KKU42eYVFCU5RCWNgx5YiGggNKo8AAAIA/AXVAwYG5wAGAAwAaEANDAsKCQgHBgUEAwIBAC4uLi4uLi4uLi4uLi4AQA4AAAEJBwgHAQQDAQAwGR8eExDOzhDu7hMfHrELCi88sTAZHx61BgUCAQMDEBfdPLEMCBDdsQAAHx6yAAEDERI5sgcMChESOTEwATczByMnMwUHIyczNwIDZWqpgayhAWmtVxdgpwZzdMjIQ88aywD////s/+oEXAbnADYANgAAABYAxQAAAAIBtP6rAk0FVQADAAcAO7EAAy88sQQHLzyxMBkfHrMCAQkDEP08swYFCQcQ/TyxAAAfHgCxAwIvPLEAAS88sQcGLzyxBAUvPDEwATMRIxEzESMBtJmZmZkFVf1B/qT9cQAAAwASAAAEpgVVABIANQBDAU22EhEODQoJBRcvPLYSEQ4NCgkFFy88tCUkFhUDFy88sTAZHx62EyMiFAkDCRAX/Ty2KyofHggDFRAX/TyxAAAfHrYQDwwLCAAJEMDAwMDAwEALKSgnJiEgGgcEAR4QwMTAwMDAwMDAwLU+PTw7ODYuLy4uLi5ACgAAQQg4MQoEMBkfHhDtEO0fHgBAEQAAAT4EPQQANQUBAAEAADAZHx4TEM3NEO0Q7e0THx6xCAcvPLQmJQ0MAxcvPLYgHxUUERAFFy88tiAfFRQREAUXLzyxPDsvPLEwGR8etiopCwoEAwwQF/08tCskIwYHEP08PLYiIQ8OBQMQEBf9PLEAAB8esy0tIwcREjkvsgkKIxESObMoJxAOERI5OUAMGAEeGhgWExIGNQIAExESFzkTL7YBATYBAAIAExEUEjkTFLYAABwEGDAZHx4Q7R8eMTATISAAERAAKQE3ESMnMzUjJzMRNxEzETYzMhcmIyIHETMXIREzESEnHwEhERYzMjc2ERAnJiEFFhEQACkBJyEgABE0JkYBnQE5ATD+0f7D/kiKTgpYfSOgxDgmPYVVcnAgIp8g/vA4ARspHC/+3BYF0VtiZFv+7wIy1P6o/p3+fA8BjAFdAUxQBVX+x/69/rX+xGkB1hotXAGxGf42AYoITDAE/o5c/ccCDGkMd/4OAZeiAQUBCZSGK4n+i/6P/psbAVUBZbPa////0AAABcwG5AA2ADwAAAAWAMoAAAADAAcAAASMBVUALABDAFsBcbYrKiIhGBcFFy88tDMyBAMDFy88sVRTLzyxMBkfHkAJLS4UEwIBCQUXEBf9PLY8OwgHCAMDEBf9PLNOTQhTEP08sQAAHx62LCcmHRwWFxDAwMDAwMCyUVBTEMDAQAs6NzQVEg0JBgUABxDAwMDAxMDAwMDAtFJPR0RNEMDEwMBACgAAWQhHPwoNMBkfHhDtEO0fHgBADgAAAVIEUQQAACwAADAZHx4TEM3NEO3tEx8esRYVLzyyIhMSLzw8sTQzLzy0CQgDAgMXLzyxUE8vPLEwGR8esjAFEhD9skIFAhD9szs6BDMQ/TyxAAAfHkALJyYhHRwYFxQIEhUREhc5tCkqKTASERI5OS9ACy8BPDcyLy4FAgAwERQSFzkUL7ItQjMREjlACSsHBgUEAQYsAhESFzlAC0sBVFNOTUsFAgBRERQSFzkUL7YBAUQBAAIAExEUEjkTFEANAABWBEskBikaBy8wGR8eEO0Q7RDtHx4xMAEHFTM1NxcHFTMgFxYVFAYHBisBFRchNzUmIyIHJzY7ATc1JiMiByc2OwERJwERMxcyNxEzMhYXLgErAREyNjU0JiMiBR4BFRQHBiEiJxUXISchJzUWMzI2NTQmAi2GNHERZisBEHOScGRl3Ht2/jOLDQRIQglDNSQIFwhsPwo+hhCLAVcNGgMKbnJfIiFkWWe4q5eqLgIaPUqfe/7bMyOd/gsbAdeAUl787jAFVYiJfW8UZXNPY7BrniMj0251gAEfEiYBMQM0D3AC933+iP4LAQEBvi1HMyn+WnR9i30IHpdg2V9IAoy6G5SyBrS/TnIAAgDEATYD7QQtABMAHQCfQB4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4AsRcWLzyxHBsvPEAVAQETEhEQDw4NDAsKCQYDAg4CAAAAExEUEhc5ExRADQEBCAcFBAEABgEAAgATERQSFzkTFEAJARkYFRQEAgAWERQSFzkUtQEdGhsCABMREjk5EzEwEzcBNyc3FzcXARcHJwcnAScBJwEFFwcjNyUBJzMXxFkBDhXPIMPfWP75/1jG/iABCib++VgBBwEU/FshWP8AAQpYIVsD1Vj+8hXPB8LeWP74/1nG/gcBCif++VkBBhH8W1j/AQpYWwACAJ0CIgJlBVUAIQApANy0EA8FBAMXLzyxJCMvPLEwGR8esgABBBDdPLMiKQgjEP08sQAAHx62HBgUCgkDBBDAwMDExMCyJyYpEMDAsQIBEMCyKCUjEMDAsiEBBBESObUAABsUMBkfHhDNHx4AsQMCLzyxACEvPLEoJy88sTAZHx6zJiUEJxD9PLEAAB8etQEEAQIAAhEUEjk5FEARFhIHARwWEhAPCgkHBQkhAgATERIXORMvLy+1ASkkAgAnERQSOTkUtwEBIyIBAAIAExEUEjk5ExRACgAAHgQSDQQHMBkfHhDtEO0fHjEwAREXIzcRBiMiJx8BFjMyNzUGIyI1NDMyFxQPARcWMzI2Nx8BERchJyEnAbQ9+U0kIy0mByULGyAoKThHHRgBAQEHBAYoTxNzF2/+tQ0BL10FVf1iQ0MB7BE4AxgHEzAeMR8VBAUFCAI6KxcL/W5/FWkAAAQAPwIiArcFZgA7AEEAUwBdAP6xAAEvPLE8PS88sTAZHx6zQUAIPRD9PLEAAB8eQA07ODcvLicmHxkTEgIBEMDAwMTEwMDAwMDAwLI/PkAQwMCxMQEQxLZdWVROTEtCLi4uLy4uLkAPAABICE4sCDENGQcJHzAZHx4Q7RDNEO0Q7R8eALQ4NycmAxcvPLFAPy88sTAZHx6zAgEFJhD9PLM+PQQ/EP08sQAAHx6zARwBABMQxBO1ATsAAgAmERQSOTkUQBlbV1EWAQFdW1lXVFFMS0IvLhYTEg4BAAIAExEUEhc5ExQvLy8vtQFBPAIAPxEUEjk5FEANAABFBFEQBhYKBhwwGR8eEO0Q7RDtHx4xMAEVITY3PgE1NCYjIgYVFBYzMjcXDgEjIiY1NDYzMhYVFA8BBg8CMzY/ATY1NCc3FhUUDwEGDwEzMjY3FxUhJyE1AycmIyIGFRQfARUmNTQ2MzIWDwEGIyInFjMyNwJ0/cspyXJPVUhFVjUpKiEKCEYzRVqRb3akxlxmLg8DNDB+VMFnA3zHVHwjA6l0TgtQ/cMWAjy1BC1eKTUlBD9AMz5SSwMldVYoPDl5GAMfq7J3Q2ZQSVZHOi07JAUwOVdCWHOEYINmLzVLGQRRQCphi2tRBDiJm2EoPT8GHzMp1BXMAY4IXi8kLRkDBw1ELzpHgApyRzZ1AAAHADoCEgK8BWUAOABEAE0AYwBwAIEAjQD/QCWNh4aCgXx6eXFramhkY1hXUE5KSUVEQkA/OTYxLSgiHRwNDAIALi8uLi4uLy8vLy4uLi4vLi4uLi4vLi4uLi8uLi4uLi8uLi4uLkAXAAB3CHxtCGheCFA9CEIYIhIoBgkxMBkfHhDtEM0QzRDtEO0Q7RDtHx4AswElAQATEMQTQBVbUzQBAVtYV1NEQD85NjQACwIAAAATERQSFzkTFC8vL0Api4R/TB8PCQEBjYuHhoSCgX96eXFramRjTkxKSUUfHRwPDQwJGwEAAgATERQSFzkTFC8vLy8vLy9AEAAAdQR/RwRMGh8VJQQ0MBkfHhDNEM0QzRDtEO0fHjEwEwYVFDMyNTQmIyIPATcWMzI2NTQmIyIGFRQzMjcXBiMiJjU0NjMyFhUUBgcGFRQXFhUUBiMiJzc2NwYHBhUUHwEmNTQ/ASYjIgcnNjMyFxYVFAYjIiYvAR8BFjMyNjU0LwEmJwMXHgEVFAcnNjU0JyYHJicmIyIVFBcHJjU0NjMyFwcGIyIvAR8BFjMyN8AIm6NhSQ4pBhsTDkBSWkA8TTsOEgomMy9BlG5sik45Dg2wm43qKgZNdwIBBUICWwjnMz4TJwskG1WxWa+PSIMdBAYxO3GFqiUbAgMsByY3fRZ7RwJpBAIwR1gSBiQ+LmgegilGMjcCBhQcLUAiA20fIJqrU20GAT0BSDg4Tj4wQg0FMz4sQ1lhTDVYCgMFBgQyn2dxxQIZEAwGIApHLQcVZxcqPiYIFggSUWFzjS4jBwMeJYhqSzIlAgQBdgIPWi9yMgspckxGAm8GAkRMEw8GDSQmM1taPDEFBA8VOwAACACd//UGowVqACEAKQAtADMAbwB1AIYAkAHqtBAPBQQDFy88sSIpLzyxNDUvPLFwcS88sTAZHx6yAAEEEN08syQjCCkQ/TyzdXQIcRD9PLEAAB8ethwYFAoJAwQQwMDAxMTAsicmKRDAwEANb2xrY2JbWlNNR0Y2NRDAwMDExMDAwMDAwMCyc3J0EMDAsQIBEMCyKCUjEMDAsWU1EMSyIQEEERI5QBGQjIeBf352MzIxMC8uLSwrKi4uLi4uLi4uLi4uLi4vLi4uQBEAAHwIgWAIZUFNOwlTGxQwGR8eEM0Q7RDNEO0Q7R8eAEALAAABdARzBAAAMBkfHhMQ7e0THx6xAwIvPLEAIS88sSgnLzyxLCsvPLEqLS88sTMyLzyxNjUvPLFycS88sTAZHx6zJiUEJxD9PLMuLwQyEP08tmxrW1oFAzUQF/08sQAAHx61AQQBAgACERQSOTkUQBEWEgcBHBYSEA8KCQcFCSECABMREhc5Ey8vL7UBKSQCACcRFBI5ORRACwEBMTAjIgQBAAIAExEUEhc5ExRAD1BKAW9jYlBKR0Y0CAIAWhEUEhc5FC8vtQF1cAIAcxEUEjk5FEATjoqEAQGQjoyKh4R/fnYJAgAAABMRFBIXORMULy8vQBMAAHkEhEQGSj4GUB4EEg0EBzAZHx4Q7RDtEO0Q7RDtHx4xMAERFyM3EQYjIicfARYzMjc1BiMiNTQzMhcUDwEXFjMyNjcfAREXISchJwkBIwkBMwEXASMBFSE2Nz4BNTQmIyIGFRQWMzI3Fw4BIyImNTQ2MzIWFRQPAQYPAjM2PwE2NTQnNxYVFA8BBg8BMzI2NxcVISchNQMnJiMiBhUUFxUmNTQ2MzIWDwEGIyInFjMyNwG0PflNJCMtJgclCxsgKCk4Rx0YAQEBBwQGKE8Tcxdv/rUNAS9dA1H86F4DF/z7agMqEfzUbgSJ/cspyXJPVUhFVjUpKiEKCEYzRFuRb3akxlxmLg8DNDB+VMFnA3zHVHwjA6l0TgtQ/cMWAjy1BC1eKTUpP0AzPlJLAyV1Vig8OXkXBVX9YkNDAewROAMYBxMwHjEfFQQFBQgCOisXC/1ufxVpAsr64QUf+qYFPRX6vQEIq7J3Q2ZQSVZHOS07IwUvOVdCV3OEYINmLzVLGQRRQCphi2tRBDiJm2EoPT8GHzMp1BXMAY4IXS4kMBkHDUQuOkd/CnNINnUABwCd//UGwQVqACEAKQAtADMAawB5AIECObQQDwUEAxcvPLEiKS88sWhnLzyxOTgvPLReXUpJAxcvPLFOTS88sYGALzyxMBkfHrIAAQQQ3TyzJCMIKRD9PEAJZmViYUZFCQVJEBf9PLNMSwhNEP08s39+CIAQ/TyxAAAfHrYcGBQKCQMEEMDAwMTEwLInJikQwMCyfHt+EMDAsQIBEMCyKCUjEMDAs19UUE0QxMTAsn16gBDAwLIhAQQREjmzZGM4ZxESOTm2a2BEOgRFOBESFzm2SD49NARJRRESFzmyXEtJERI5QA94dHNubDMyMTAvLi0sKyouLi4uLi4uLi4uLi8uLi+3AABZUBsUMBkfHhDNEM0fHgBACwAAAX0EfAQAADAZHx4TEO3tEx8esQMCLzyxACEvPLEoJy88sSwrLzyxKi0vPLEzMi88sWBfLzyxY2IvPLRnZl1cAxcvPLE0ay88sXp7LzyxMBkfHrMmJQQnEP08sy4vBDIQ/Ty2TktKRUQEXBAX3TyyOjlcEN08s2VkBGIQ/TyxAAAfHrUBBAECAAIRFBI5ORRAERYSBwEcFhIQDwoJBwUJIQIAExESFzkTLy8vtQEpJAIAJxEUEjk5FEALAQExMCMiBAEAAgATERQSFzkTFLNhXmJfERI5ObNSUmRiERI5L7JoRFwREjlAC01MSUhGPj04CGs5ERIXOUAOdnEBAXZ0c3FsBQIAAAATERQSFzkTFC8vQAkBgYB/fgQCAHwRFBIXORRACgAAHgQSDQQHMBkfHhDtEO0fHjEwAREXIzcRBiMiJx8BFjMyNzUGIyI1NDMyFxQPARcWMzI2Nx8BERchJyEnCQEjCQEzARcBIwEVDgEHFTM+ATcXBw4BDwIzNTY3MxEzERcRMhUUIyI1ND8BNjU0KwIVFyE3NSEnITUhNTYSNQEWFRQGIyIvARYzMjU0AyEnISc1FxUBtD35TSQjLSYHJQsbICgpOEcdGAEBAQcEBihPE3MXb/61DQEvXQNR/OheAxf8+2oDKhH81G4DqBSWbChvdTYVARKDNUYGykYhCzIXUSknBAUBHwsqTP73S/7YDQE1/ptjeAGhNyAVFCEDGBAyEv7BFQEsXRcFVf1iQ0MB7BE4AxgHEzAeMR8VBAUFCAI6KxcL/W5/FWkCyvrhBR/6pgU9Ffq9Az4FY/52Dna/mwoHR+86SgbgKDT+xAElDP7nQysdCwUFAgIPikM/NRZDFHcBF3L9/hIxGSURCQsyH/7wFGlbC08AAAwAOv/1BsIFagA4AEQATQBjAHAAgQCNAJEAlwDPAN0A5QJbsczLLzyxnZwvPLTCwa6tAxcvPLGysS88seXkLzyxMBkfHkAJysnGxaqpCQWtEBf9PLOwrwixEP08s+PiCOQQ/TyxAAAfHrLg3+IQwMCzw7i0sRDExMCy4d7kEMDAs8jHnMsREjk5ts/EqJ4EqZwREhc5tqyioZgErakREhc5ssCvrRESOUA03NjX0tCXlpWUk5KRkI+OjYeGgoF8enlxa2poZGNYV1BOSklFREJAPzk2MS0oIh0cDQwCAC4vLi4uLi8vLy8uLi4uLy4uLi4uLy4uLi4vLi4uLi4vLi4uLi4uLi4uLi4uLi4uLi8uLi9AGQAAvbR3CHxtCGheCFA9CEIYIhIoBgkxMBkfHhDtEM0QzRDtEO0Q7RDtEM0fHgBACwAAAeEE4AQAADAZHx4TEO3tEx8esZCPLzyxjpEvPLGXli88scTDLzyxx8YvPLTLysHAAxcvPLGYzy88sd7fLzyxMBkfHrOSkwSWEP08trKvrqmoBMAQF908sp6dwBDdPLPJyATGEP08sQAAHx6zASUBABMQxBNAHNrVW1M0AQHa2NfV0FtYV1NEQD85NjQAEAIAAAATERQSFzkTFC8vLy8vQCuLhH9MHw8JAQGVlI2Lh4aEgoF/enlxa2pkY05MSklFHx0cDw0MCR0BAAIAExEUEhc5ExQvLy8vLy8vs8XCxsMREjk5s7a2yMYREjkvssyowBESOUALsbCtrKqioZwIz50REhc5QAkB5eTj4gQCAOARFBIXORRAEAAAdQR/RwRMGh8VJQQ0MBkfHhDNEM0QzRDtEO0fHjEwEwYVFDMyNTQmIyIPATcWMzI2NTQmIyIGFRQzMjcXBiMiJjU0NjMyFhUUBgcGFRQXFhUUBiMiJzc2NwYHBhUUHwEmNTQ/ASYjIgcnNjMyFxYVFAYjIiYvAR8BFjMyNjU0LwEmJwMXHgEVFAcnNjU0JyYHJicmIyIVFBcHJjU0NjMyFwcGIyIvAR8BFjMyNyUBIwkBMwEXASMBFQ4BBxUzPgE3FwcOAQ8CMzU2NzMRMxEXETIVFCMiNTQ/ATY1NCsCFRchNzUhJyE1ITU2EjUBFhUUBiMiLwEWMzI1NAMhJyEnNRcVwAibo2FJDikGGxMOQFJaQDxNOw4SCiYzL0GUbmyKTjkODbCbjeoqBk13AgEFQgJbCOczPhMnCyQbVbFZr49Igx0EBjE7cYWqJRsCAywHJjd9FntHAmkEAjBHWBIGJD4uaB6CKUYyNwIGFBwtQCID9fzpXwMY/PpqAysR/NNuA6gUlWwnb3U2FQEShjJFBslGIQszF1EpJwQEAh8LK03+9kv+2AwBNP6cY3cBojcgFRUhAhgQMRH+wRUBLF0XA20fIJqrU20GAT0BSDg4Tj4wQg0FMz4sQ1lhTDVYCgMFBgQyn2dxxQIZEAwGIApHLQcVZxcqPiYIFggSUWFzjS4jBwMeJYhqSzIlAgQBdgIPWi9yMgspckxGAm8GAkRMEw8GDSQmM1taPDEFBA8VO+/64QUf+qYFPRX6vQM+BWP+dg51wJsKB0b2NEoG4Cg0/sQBJQz+50MrHQsFBQICD4pDPzUWQxR3ARdy/f4SMRklEQkLMh/+8BRpWwtPAAAEAd0F2ARNBuUACwAaACkANQBpQAsoIyIdGxkUEw4MCS8uLy4uLy4vLi4vQAoAAC0JMwMJCTAZHx4Q7RDtHx4AQBAAAAEwASAHAREHAQYBADAZHx4TEM4Q7hDuEM4THx62FhYUEwMMERESFzkvtiUlIyIDGyAREhc5LzEwATIWFRQGIyImNTQ2FxYVFAYjIic1FjMyNjU0JRYVFAYjIic1FjMyNjU0JzIWFRQGIyImNTQ2A5koODgoKDg4pDhHNTsjLyIxRv6BOEg0OyMvIjFGpSg4OCgoODgG5TgoKDg4KCc5KxlKNkkvByJFMScxGUo2SS8HIkUxJ1w4KCg4OCgoOAACAsQFygRcBuQAAwAJAEOzAwIBAC4uLi4AQA4AAAEEBwkHAQIBAQAwGR8eExDOzhDu7hMfHrEGBS88sTAZHx6yAAMBEN08sQcJEN2xAAAfHjEwAQcjNwMnMzcXBwQi9GqSZxd79hP7BuTGxv7mHMcYywACAcEF3gOgBuIAAwAJAEOzAwIBAC4uLi4AQA4AAAEEBwUHAQIBAQAwGR8eExDOzhDu7hMfHrEHBi88sTAZHx6yAAMBEN08sQgFENyxAAAfHjEwARcjJwEjJzMnFwKRinXlAd+oHIt9KwbiwMD+/BmuCQACAfQF2gRRBucADAASAHFADQwLCgkIBwYFBAMCAQAuLi4uLi4uLi4uLi4uAEAQAAABDQcOBwECBwEHAQAwGR8eExDu7hDu7hMfHrEEAy88tAwLCAcDFy88sRAPLzyxMBkfHrIKCQEQ3TyxEQ4Q3rEAAB8etQYFAAMJBxESFzkxMAEHIyczNycHIzczFyMFIyczJxcC6nhXEmBzGmVpqIGsoAEo5xPIrSUGZowVhx10yMhFFcoIAAMBvgXdBFEG8wAYACQALACMsSUmLzxACSAfGhkYDAsCAC4vLi4uLi4uLrUAABYCMBkfHhDNHx4AQBAAAAEpBygHAR0HAQUBADAZHx4TEM4Q7hDu7hMfHrEMCy88sQAYLzyxKyovPLEwGR8esQ8FEN2xGR0Q3bIlBygQ/rEAAB8etRMJEwkYCxESOTkvL7ciIiAfGgQZHRESFzkvMTABFhUUBiMiJyYjIgcjNDYzMhcWMzI2NTQnHwEUBiMiJzcWMzI3BRUGByMnMzYEBAJbQEd0Qx1BC0ZoTUJ8MBwbJAGBFWpNMkAMOSiUEv4dFQhQEE8LBuITB0hlOiJOVnRJHSkdBQocElt8Hg0Vx3MeHS0XOAADAk0FtwPBBxsADwAbACcAXLYZEw8IBwIALi8uLi4vL0ALAAAlEx8ZDQgCMBkfHhDtEM0QzR8eAEAMAAABFgcBBQUBADAZHx4TEO4Q7hMfHrcKDwoIBwQABRESFzkvtSIcIhwQFhESOTkvLzEwARYVFAYjIic3FjMyNjU0LwEyFhUUBiMiJjU0NhciBhUUFjMyNjU0JgNmW2JGUTYIOTtBXVF+O1RUOzxUVDwbJiYbGyYmBv0vZkloOwcwXkFUOCdTPDxTUzw7VE8mGhsmJhsaJgAEAUUF2AO0BuUACwAaACkANQA6sAkvQAoAAC0JMwMJCTAZHx4Q7RDtHx4AQBAAAAEwASAHAREHAQYBADAZHx4TEM4Q7hDuEM4THx4xMAEyFhUUBiMiJjU0NhcWFRQGIyInNRYzMjY1NCUWFRQGIyInNRYzMjY1NCcyFhUUBiMiJjU0NgMAKDg4KCg4OKU3RzU6JDAiMUX+gjdHNTsjMCIwRqQoODgoKDg4BuU4KCg4OCgoOCsZSjZJLwciRTEmMhpJNkkvByJFMSZdOCgoODgoKDgAAAIBegXKAxIG5AADAAkAOgBADgAAAQQHCQcBAgEBADAZHx4TEM7OEO7uEx8esQYFLzyxMBkfHrIAAwEQ3TyxBwkQ3bEAAB8eMTABByM3AyczNxcHAtj0apNoF3v2E/sG5MbG/uYcxxjLAAACAPIF3gLRBuIAAwAJADoAQA4AAAEEBwUHAQIBAQAwGR8eExDOzhDu7hMfHrEHBi88sTAZHx6yAAMBEN08sQgFEN6xAAAfHjEwARcjJwEjJzMnFwHCinXlAd+oHIt9KwbiwMD+/BmuCQAAAgFpBdoDxgbnAAwAEgBKAEAQAAABDQcOBwECBwEHAQAwGR8eExDu7hDu7hMfHrEEAy88tAwLCAcDFy88sRAPLzyxMBkfHrIKCQEQ3TyxEQ4Q3rEAAB8eMTABByMnMzcnByM3MxcjBSMnMycXAl94VxJgcxlmaaiCrKEBKOcSx60lBmaMFYcddMjIRRXKCAAABAAPBdgCZAblAAsAGgApADUAaUALKCMiHRsZFBMODAkvLi8uLi8uLy4uL0AKAAAtCTMDCQkwGR8eEO0Q7R8eAEAQAAABMAEgBwERBwEGAQAwGR8eExDOEO4Q7hDOEx8ethYWFBMDDBEREhc5L7YlJSMiAxsgERIXOS8xMAEyFhUUBiMiJjU0NhcWFRQGIyInNRYzMjY1NCUWFRQGIyInNRYzMjY1NCcyFhUUBiMiJjU0NgGwKDg4KCg4OKQ4SDQ7JDAiMUb+nDhINDsjLyIxRqUoODgoKDg4BuU4KCg4OCgoOCsZSjZJLwciRTEnMRpJNkkvByJFMSdcOCgoODgoKDgAAgD2BcoCjgbkAAMACQBDswMCAQAuLi4uAEAOAAABBAcJBwECAQEAMBkfHhMQzs4Q7u4THx6xBgUvPLEwGR8esgADARDdPLEHCRDdsQAAHx4xMAEHIzcDJzM3FwcCVPRqkmcXe/YT+wbkxsb+5hzHGMsAAv/zBd4B0gbiAAMACQBDswMCAQAuLi4uAEAOAAABBAcFBwECAQEAMBkfHhMQzs4Q7u4THx6xBwYvPLEwGR8esgADARDdPLEIBRDcsQAAHx4xMBMXIycBIyczJxfDinXlAd+oHIt9KwbiwMD+/BmuCQAAAgAmBdoCgwbnAAwAEgBxQA0MCwoJCAcGBQQDAgEALi4uLi4uLi4uLi4uLgBAEAAAAQ0HDgcBAgcBBwEAMBkfHhMQ7u4Q7u4THx6xBAMvPLQMCwgHAxcvPLEQDy88sTAZHx6yCgkBEN08sREOEN6xAAAfHrUGBQADCQcREhc5MTABByMnMzcnByM3MxcjBSMnMycXARx4VxJgcxplaaiCrKEBKOcTyK0lBmaMFYcddMjIRRXKCAADAR0F3QOwBvMAGAAkACwAjLElJi88QAkgHxoZGAwLAgAuLy4uLi4uLi61AAAWAjAZHx4QzR8eAEAQAAABKQcoBwEdBwEFAQAwGR8eExDOEO4Q7u4THx6xDAsvPLEAGC88sSsqLzyxMBkfHrEPBRDdsRkdEN2yJQcoEP6xAAAfHrUTCRMJGAsREjk5Ly+3IiIgHxoEGR0REhc5LzEwARYVFAYjIicmIyIHIzQ2MzIXFjMyNjU0Jx8BFAYjIic3FjMyNwUVBgcjJzM2A2MCW0BHdEMcQgpHaU1BfDAcGyQBgRVqTTJADTgolBL+HRUIUBBPCwbiEwdIZToiTlZ0SR0pHQYJHBJbfB4NFcdzHh0tFzgABAFHBdgDtwblAAsAGgApADUAaUALKCMiHRsZFBMODAkvLi8uLi8uLy4uL0AKAAAtCTMDCQkwGR8eEO0Q7R8eAEAQAAABMAEgBwERBwEGAQAwGR8eExDOEO4Q7hDOEx8ethYWFBMDDBEREhc5L7YlJSMiAxsgERIXOS8xMAEyFhUUBiMiJjU0NhcWFRQGIyInNRYzMjY1NCUWFRQGIyInNRYzMjY1NCcyFhUUBiMiJjU0NgMDKDg4KCg4OKU3RzU7Iy8iMUb+gjdHNTsjLyIxRqUoODgoKDg4BuU4KCg4OCgoOCsZSjZJLwciRTEnMRpJNkkvByJFMSdcOCgoODgoJzkAAgI8BcoD1AbkAAMACQBDswMCAQAuLi4uAEAOAAABBAcJBwECAQEAMBkfHhMQzs4Q7u4THx6xBgUvPLEwGR8esgADARDdPLEHCRDdsQAAHx4xMAEHIzcDJzM3FwcDmvRqkmcXe/YT+wbkxsb+5hzHGMsAAgE5Bd4DGAbiAAMACQBDswMCAQAuLi4uAEAOAAABBAcFBwECAQEAMBkfHhMQzs4Q7u4THx6xBwYvPLEwGR8esgADARDdPLEIBRDcsQAAHx4xMAEXIycBIyczJxcCCYp15QHfqByLfSsG4sDA/vwZrgkAAgFsBdoDyQbnAAwAEgBxQA0MCwoJCAcGBQQDAgEALi4uLi4uLi4uLi4uLgBAEAAAAQ0HDgcBAgcBBwEAMBkfHhMQ7u4Q7u4THx6xBAMvPLQMCwgHAxcvPLEQDy88sTAZHx6yCgkBEN08sREOEN6xAAAfHrUGBQADCQcREhc5MTABByMnMzcnByM3MxcjBSMnMycXAmJ4VxJgcxplaaiBrKABKOgSyK0lBmaMFYcddMjIRRXKCAADATUF3QPIBvMAGAAkACwAjLElJi88QAkgHxoZGAwLAgAuLy4uLi4uLi61AAAWAjAZHx4QzR8eAEAQAAABKQcoBwEdBwEFAQAwGR8eExDOEO4Q7u4THx6xDAsvPLEAGC88sSsqLzyxMBkfHrEPBRDdsRkdEN2yJQcoEP6xAAAfHrUTCRMJGAsREjk5Ly+3IiIgHxoEGR0REhc5LzEwARYVFAYjIicmIyIHIzQ2MzIXFjMyNjU0Jx8BFAYjIic3FjMyNwUVBgcjJzM2A3sCW0BHdEMdQQtGaE1CfDAcGyQBgRVqTTM/DDkolBL+HRUIUBBPCwbiEwdIZToiTlZ0SR0pHQUKHBJbfB4NFcdzHh0tFzgAAgE0BdUDPQbnAAYADAA+AEAOAAABCQcIBwEEAwEAMBkfHhMQzs4Q7u4THx6xCwovPLEwGR8etQYFAgEDAxAX3TyxDAgQ3bEAAB8eMTABNzMHIyczBQcjJzM3AjtlaaiBrKABaa1XFmCnBnN0yMhDzxrLAAAEAW0F2APdBuUACwAaACkANQBRtRkUEw4MCS8uLy4uL0AKAAAtCTMDCQkwGR8eEO0Q7R8eAEAQAAABMAEgBwERBwEGAQAwGR8eExDOEO4Q7hDOEx8ethYWFBMDDBEREhc5LzEwATIWFRQGIyImNTQ2FxYVFAYjIic1FjMyNjU0JRYVFAYjIic1FjMyNjU0JzIWFRQGIyImNTQ2AykoODgoKDg4pDhINDskMCIxRv6BN0c1OiQwIjFFpCg4OCgoODgG5TgoKDg4KCg4KxlKNkkvByJFMScxGkk2SS8HIkUxJ1w4KCg4OCgoOAACAmEFygP5BuQAAwAJADoAQA4AAAEEBwkHAQIBAQAwGR8eExDOzhDu7hMfHrEGBS88sTAZHx6yAAMBEN08sQcJEN2xAAAfHjEwAQcjNwMnMzcXBwO/9GqTZxh79hP7BuTGxv7mHMcYywAAAgFeBd4DPQbiAAMACQA6AEAOAAABBAcFBwECAQEAMBkfHhMQzs4Q7u4THx6xBwYvPLEwGR8esgADARDdPLEIBRDcsQAAHx4xMAEXIycBIyczJxcCLop15QHfpx2MfSoG4sDA/vwZrgkAAAIBkQXaA+8G5wAMABIASgBAEAAAAQ0HDgcBAgcBBwEAMBkfHhMQ7u4Q7u4THx6xBAMvPLQMCwgHAxcvPLEQDy88sTAZHx6yCgkBEN08sREOEN6xAAAfHjEwAQcjJzM3JwcjNzMXIwUjJzMnFwKHeFcSYHMZZWqpgayhASnoEsetJgZmjBWHHXTIyEUVyggAAAICTQXKA+UG5AADAAkAQ7MDAgEALi4uLgBADgAAAQQHCQcBAgEBADAZHx4TEM7OEO7uEx8esQYFLzyxMBkfHrIAAwEQ3TyxBwkQ3bEAAB8eMTABByM3AyczNxcHA6v0apNnF3v1E/sG5MbG/uYcxxjLAAQARwCGBGsEeQAMADoAQwBZARVALldVVFNSUVBJSEdGRUQ3NjIxMC8uKikoJyUjIiEgHBsaGRcWFRQSEA8ODQkHBgAuLi4vLi4uLi8uLi4uLi4uLi4uLi4vLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4vQBAAAEsIV0EJJT0JEgQICTAZHx4Q7RDtEO0Q7R8eALFHRi88sVNSLzxAHTksAQE5NzYyMTAvLiwqKSgnEA8ODQcGABQCAAAAExEUEhc5ExQvL0AVHgEBIyIhIB4cGxoZFxYVFA0BAAIAExEUEhc5ExQvQAoBVUlIRUQFAgBGERQSFzkUtwFUUVADUgIAExESFzkTsQsCP0AQAAA/BTk7BR40BCwCBAswGR8eEO0Q7RDtEO0fHjEwASYjIhUUFwcmNRAzMgEHJzcmNTQ3JzcXNjcnNxc2MzIXNxcHFhUUBxcHJwYjIicHJzcXFjMyNycGIyITIBEQITIRNCYBFwcjNyc2NTQnJyYnNyczFwcWFRQGAwpwUcNfCXXghP6BpViaVkiUWZoZGmghY1RXhWaSWJBITJZZYWmRc3SGIJcGfWx8bydndH56/vIBCPl1ASKWXCBXlVwbJwEFglghW4M/IAMyQPSsOAo+qwET/dClWZplj49flFmaDgtnCGQcP5JZkHCAj2eWWGFEOoYHlwcuPiYzAqn+yv7hATSWi/3MlltYlnWadio9AgmBWFuEUpdSZgAAAAAAACYBzgABAAAAAAAAACMAAAABAAAAAAABAAgAIwABAAAAAAACAAcAKwABAAAAAAADAAgAIwABAAAAAAAEAAgAIwABAAAAAAAFAAwAMgABAAAAAAAGAAgAIwADAAEEBgACAAwAPgADAAEEBgAEABAASgADAAEEBwACABAAWgADAAEEBwAEABAASgADAAEECQAAAEYAagADAAEECQABABAASgADAAEECQACAA4AsAADAAEECQADABAASgADAAEECQAEABAASgADAAEECQAFABgAvgADAAEECQAGABAASgADAAEECgACAAwA1gADAAEECgAEABAASgADAAEECwACABAA4gADAAEECwAEABAASgADAAEEDAACAAwA1gADAAEEDAAEABAASgADAAEEEAACAA4A8gADAAEEEAAEABAASgADAAEEEwACABIBAAADAAEEEwAEABAASgADAAEEFAACAAwA1gADAAEEFAAEABAASgADAAEEHQACAAwA1gADAAEEHQAEABAASgADAAEIFgACAAwA1gADAAEIFgAEABAASgADAAEMCgACAAwA1gADAAEMCgAEABAASgADAAEMDAACAAwA1gADAAEMDAAEABAASlVSVyBTb2Z0d2FyZSwgQ29weXJpZ2h0IDE5OTMgYnkgVVJXQWxnZXJpYW5SZWd1bGFyVmVyc2lvbiAxLjU3AG4AbwByAG0AYQBsAEEAbABnAGUAcgBpAGEAbgBTAHQAYQBuAGQAYQByAGQAVQBSAFcAIABTAG8AZgB0AHcAYQByAGUALAAgAEMAbwBwAHkAcgBpAGcAaAB0ACAAMQA5ADkAMwAgAGIAeQAgAFUAUgBXAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgA1ADcATgBvAHIAbQBhAGwATgBvAHIAbQBhAGEAbABpAE4AbwByAG0AYQBsAGUAUwB0AGEAbgBkAGEAYQByAGQAAgAAAAAAAP8OAHUAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAABAgEDAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBeAF8AYABhAGIAYwBkAGUAZgBnAGgAggCDAIQAhQCGAIcAiACK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';
export let Pivot_Data: Object[] =
[{ 'In_Stock': 34, 'Sold': 51, 'Amount': 383, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
{ 'In_Stock': 4, 'Sold': 423, 'Amount': 3595.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
@@ -2392,3991 +2391,3 @@ export let Pivot_Data: Object[] =
{ 'In_Stock': 13, 'Sold': 392, 'Amount': 5989.76, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
{ 'In_Stock': 9, 'Sold': 426, 'Amount': 4686, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' }];
-export let csvdata: string = "Region,Country,Item Type,Sales Channel,Order Priority,Order Date,Order ID,Ship Date,Units Sold,Unit Price,Unit Cost,Total Revenue,Total Cost,Total Profit\r\nMiddle East and North Africa,Libya,Cosmetics,Offline,M,10/18/2014,686800706,10/31/2014,8446,437.20,263.33,3692591.20,2224085.18,1468506.02\r\nNorth America,Canada,Vegetables,Online,M,11/7/2011,185941302,12/8/2011,3018,154.06,90.93,464953.08,274426.74,190526.34\r\nMiddle East and North Africa,Libya,Baby Food,Offline,C,10/31/2016,246222341,12/9/2016,1517,255.28,159.42,387259.76,241840.14,145419.62\r\nAsia,Japan,Cereal,Offline,C,4/10/2010,161442649,5/12/2010,3322,205.70,117.11,683335.40,389039.42,294295.98\r\nSub-Saharan Africa,Chad,Fruits,Offline,H,8/16/2011,645713555,8/31/2011,9845,9.33,6.92,91853.85,68127.40,23726.45\r\nEurope,Armenia,Cereal,Online,H,11/24/2014,683458888,12/28/2014,9528,205.70,117.11,1959909.60,1115824.08,844085.52\r\nSub-Saharan Africa,Eritrea,Cereal,Online,H,3/4/2015,679414975,4/17/2015,2844,205.70,117.11,585010.80,333060.84,251949.96\r\nEurope,Montenegro,Clothes,Offline,M,5/17/2012,208630645,6/28/2012,7299,109.28,35.84,797634.72,261596.16,536038.56\r\nCentral America and the Caribbean,Jamaica,Vegetables,Online,H,1/29/2015,266467225,3/7/2015,2428,154.06,90.93,374057.68,220778.04,153279.64\r\nAustralia and Oceania,Fiji,Vegetables,Offline,H,12/24/2013,118598544,1/19/2014,4800,154.06,90.93,739488.00,436464.00,303024.00\r\nSub-Saharan Africa,Togo,Clothes,Online,M,12/29/2015,451010930,1/19/2016,3012,109.28,35.84,329151.36,107950.08,221201.28\r\nEurope,Montenegro,Snacks,Offline,M,2/27/2010,220003211,3/18/2010,2694,152.58,97.44,411050.52,262503.36,148547.16\r\nEurope,Greece,Household,Online,C,11/17/2016,702186715,12/22/2016,1508,668.27,502.54,1007751.16,757830.32,249920.84\r\nSub-Saharan Africa,Sudan,Cosmetics,Online,C,12/20/2015,544485270,1/5/2016,4146,437.20,263.33,1812631.20,1091766.18,720865.02\r\nAsia,Maldives,Fruits,Offline,L,1/8/2011,714135205,2/6/2011,7332,9.33,6.92,68407.56,50737.44,17670.12\r\nEurope,Montenegro,Clothes,Offline,H,6/28/2010,448685348,7/22/2010,4820,109.28,35.84,526729.60,172748.80,353980.80\r\nEurope,Estonia,Office Supplies,Online,H,4/25/2016,405997025,5/12/2016,2397,651.21,524.96,1560950.37,1258329.12,302621.25\r\nNorth America,Greenland,Beverages,Online,M,7/27/2012,414244067,8/7/2012,2880,47.45,31.79,136656.00,91555.20,45100.80\r\nSub-Saharan Africa,Cape Verde,Clothes,Online,C,9/8/2014,821912801,10/3/2014,1117,109.28,35.84,122065.76,40033.28,82032.48\r\nSub-Saharan Africa,Senegal,Household,Offline,L,8/27/2012,247802054,9/8/2012,8989,668.27,502.54,6007079.03,4517332.06,1489746.97\r\nAustralia and Oceania,Federated States of Micronesia,Snacks,Online,C,9/3/2012,531023156,10/15/2012,407,152.58,97.44,62100.06,39658.08,22441.98\r\nEurope,Bulgaria,Clothes,Online,L,8/27/2010,880999934,9/16/2010,6313,109.28,35.84,689884.64,226257.92,463626.72\r\nMiddle East and North Africa,Algeria,Personal Care,Online,H,2/20/2011,127468717,3/9/2011,9681,81.73,56.67,791228.13,548622.27,242605.86\r\nAsia,Mongolia,Clothes,Online,L,12/12/2015,770478332,1/24/2016,515,109.28,35.84,56279.20,18457.60,37821.60\r\nCentral America and the Caribbean,Grenada,Cereal,Online,H,10/28/2012,430390107,11/13/2012,852,205.70,117.11,175256.40,99777.72,75478.68\r\nCentral America and the Caribbean,Grenada,Beverages,Online,M,1/30/2017,397877871,3/20/2017,9759,47.45,31.79,463064.55,310238.61,152825.94\r\nSub-Saharan Africa,Senegal,Beverages,Offline,M,10/22/2014,683927953,11/4/2014,8334,47.45,31.79,395448.30,264937.86,130510.44\r\nNorth America,Greenland,Fruits,Offline,M,1/31/2012,469839179,2/22/2012,4709,9.33,6.92,43934.97,32586.28,11348.69\r\nSub-Saharan Africa,Chad,Meat,Offline,H,1/20/2016,357222878,3/9/2016,9043,421.89,364.69,3815151.27,3297891.67,517259.60\r\nSub-Saharan Africa,Mauritius ,Personal Care,Online,C,1/1/2016,118002879,1/7/2016,8529,81.73,56.67,697075.17,483338.43,213736.74\r\nMiddle East and North Africa,Morocco,Beverages,Offline,C,6/1/2017,944415509,6/23/2017,2391,47.45,31.79,113452.95,76009.89,37443.06\r\nCentral America and the Caribbean,Honduras,Office Supplies,Online,H,6/30/2015,499009597,7/9/2015,6884,651.21,524.96,4482929.64,3613824.64,869105.00\r\nSub-Saharan Africa,Benin,Fruits,Online,L,1/28/2014,564646470,3/16/2014,293,9.33,6.92,2733.69,2027.56,706.13\r\nEurope,Greece,Baby Food,Offline,M,4/8/2014,294499957,4/8/2014,7937,255.28,159.42,2026157.36,1265316.54,760840.82\r\nCentral America and the Caribbean,Jamaica,Beverages,Offline,L,9/4/2010,262056386,10/24/2010,7163,47.45,31.79,339884.35,227711.77,112172.58\r\nSub-Saharan Africa,Equatorial Guinea,Office Supplies,Online,M,5/2/2010,211114585,5/14/2010,2352,651.21,524.96,1531645.92,1234705.92,296940.00\r\nSub-Saharan Africa,Swaziland,Office Supplies,Offline,H,10/3/2013,405785882,10/22/2013,9915,651.21,524.96,6456747.15,5204978.40,1251768.75\r\nCentral America and the Caribbean,Trinidad and Tobago,Vegetables,Offline,M,3/6/2011,280494105,4/14/2011,3294,154.06,90.93,507473.64,299523.42,207950.22\r\nEurope,Sweden,Baby Food,Online,L,8/7/2016,689975583,8/12/2016,7963,255.28,159.42,2032794.64,1269461.46,763333.18\r\nEurope,Belarus,Office Supplies,Online,L,1/11/2011,759279143,2/18/2011,6426,651.21,524.96,4184675.46,3373392.96,811282.50\r\nSub-Saharan Africa,Guinea-Bissau,Office Supplies,Offline,C,5/21/2014,133766114,6/12/2014,3221,651.21,524.96,2097547.41,1690896.16,406651.25\r\nAsia,Mongolia,Beverages,Online,M,8/3/2013,329110324,9/2/2013,9913,47.45,31.79,470371.85,315134.27,155237.58\r\nMiddle East and North Africa,Turkey,Meat,Online,L,10/5/2011,681298100,11/20/2011,103,421.89,364.69,43454.67,37563.07,5891.60\r\nSub-Saharan Africa,Central African Republic,Snacks,Offline,L,11/15/2016,596628272,12/30/2016,4419,152.58,97.44,674251.02,430587.36,243663.66\r\nSub-Saharan Africa,Equatorial Guinea,Office Supplies,Offline,L,4/3/2015,901712167,4/17/2015,5523,651.21,524.96,3596632.83,2899354.08,697278.75\r\nAsia,Laos,Beverages,Online,M,3/22/2013,693473613,4/21/2013,3107,47.45,31.79,147427.15,98771.53,48655.62\r\nEurope,Armenia,Meat,Online,C,8/2/2010,489148938,9/1/2010,8896,421.89,364.69,3753133.44,3244282.24,508851.20\r\nEurope,Greece,Household,Online,L,1/5/2012,876286971,2/15/2012,1643,668.27,502.54,1097967.61,825673.22,272294.39\r\nMiddle East and North Africa,Israel,Personal Care,Offline,H,8/26/2015,262749040,8/30/2015,2135,81.73,56.67,174493.55,120990.45,53503.10\r\nAsia,Bhutan,Meat,Online,H,12/9/2016,726708972,1/26/2017,8189,421.89,364.69,3454857.21,2986446.41,468410.80\r\nAustralia and Oceania,Vanuatu,Vegetables,Online,L,5/17/2012,366653096,5/31/2012,9654,154.06,90.93,1487295.24,877838.22,609457.02\r\nSub-Saharan Africa,Burundi,Vegetables,Online,M,11/17/2010,951380240,12/20/2010,3410,154.06,90.93,525344.60,310071.30,215273.30\r\nEurope,Ukraine,Cosmetics,Online,M,11/13/2014,270001733,1/1/2015,8368,437.20,263.33,3658489.60,2203545.44,1454944.16\r\nEurope,Croatia,Beverages,Online,C,6/16/2016,681941401,7/28/2016,470,47.45,31.79,22301.50,14941.30,7360.20\r\nSub-Saharan Africa,Madagascar,Fruits,Online,L,5/31/2016,566935575,6/7/2016,7690,9.33,6.92,71747.70,53214.80,18532.90\r\nAsia,Malaysia,Snacks,Offline,M,10/6/2012,175033080,11/5/2012,5033,152.58,97.44,767935.14,490415.52,277519.62\r\nAsia,Uzbekistan,Office Supplies,Offline,L,3/10/2012,276595246,3/15/2012,9535,651.21,524.96,6209287.35,5005493.60,1203793.75\r\nEurope,Italy,Office Supplies,Online,M,1/26/2011,812295901,2/13/2011,5263,651.21,524.96,3427318.23,2762864.48,664453.75\r\nAsia,Nepal,Vegetables,Offline,C,6/2/2014,443121373,6/19/2014,8316,154.06,90.93,1281162.96,756173.88,524989.08\r\nAustralia and Oceania,Fiji,Personal Care,Offline,H,12/17/2016,600370490,1/25/2017,1824,81.73,56.67,149075.52,103366.08,45709.44\r\nEurope,Portugal,Office Supplies,Online,L,6/27/2014,535654580,7/29/2014,949,651.21,524.96,617998.29,498187.04,119811.25\r\nCentral America and the Caribbean,Panama,Cosmetics,Offline,H,3/17/2015,470897471,4/22/2015,7881,437.20,263.33,3445573.20,2075303.73,1370269.47\r\nEurope,Belarus,Beverages,Offline,L,4/3/2013,248335492,4/4/2013,6846,47.45,31.79,324842.70,217634.34,107208.36\r\nSub-Saharan Africa,Botswana,Clothes,Offline,C,3/8/2015,680517470,3/25/2015,9097,109.28,35.84,994120.16,326036.48,668083.68\r\nSub-Saharan Africa,Tanzania,Personal Care,Online,M,6/21/2013,400304734,7/29/2013,7921,81.73,56.67,647383.33,448883.07,198500.26\r\nEurope,Romania,Office Supplies,Offline,C,1/6/2013,810871112,1/8/2013,3636,651.21,524.96,2367799.56,1908754.56,459045.00\r\nSub-Saharan Africa,Mali,Cereal,Online,L,3/17/2012,235702931,4/3/2012,8590,205.70,117.11,1766963.00,1005974.90,760988.10\r\nSub-Saharan Africa,Central African Republic,Office Supplies,Offline,C,4/18/2014,668599021,5/12/2014,2163,651.21,524.96,1408567.23,1135488.48,273078.75\r\nSub-Saharan Africa,Niger,Baby Food,Online,M,1/3/2016,123670709,2/1/2016,5766,255.28,159.42,1471944.48,919215.72,552728.76\r\nEurope,Austria,Office Supplies,Online,L,5/12/2011,285341823,6/8/2011,7841,651.21,524.96,5106137.61,4116211.36,989926.25\r\nAsia,India,Fruits,Online,H,7/29/2010,658348691,8/22/2010,8862,9.33,6.92,82682.46,61325.04,21357.42\r\nEurope,Luxembourg,Baby Food,Offline,L,8/2/2013,817740142,8/19/2013,6335,255.28,159.42,1617198.80,1009925.70,607273.10\r\nSub-Saharan Africa,Cape Verde,Beverages,Offline,H,10/23/2013,858877503,11/6/2013,9794,47.45,31.79,464725.30,311351.26,153374.04\r\nEurope,Sweden,Vegetables,Offline,M,2/5/2017,947434604,2/19/2017,5808,154.06,90.93,894780.48,528121.44,366659.04\r\nEurope,Iceland,Meat,Offline,H,3/20/2015,869397771,4/17/2015,2975,421.89,364.69,1255122.75,1084952.75,170170.00\r\nMiddle East and North Africa,Qatar,Personal Care,Offline,L,5/6/2012,481065833,5/8/2012,6925,81.73,56.67,565980.25,392439.75,173540.50\r\nSub-Saharan Africa,South Sudan,Meat,Online,C,9/30/2013,159050118,10/1/2013,5319,421.89,364.69,2244032.91,1939786.11,304246.80\r\nEurope,United Kingdom,Office Supplies,Online,M,5/20/2014,350274455,6/14/2014,2850,651.21,524.96,1855948.50,1496136.00,359812.50\r\nMiddle East and North Africa,Tunisia ,Cereal,Online,L,4/9/2010,221975171,5/17/2010,6241,205.70,117.11,1283773.70,730883.51,552890.19\r\nNorth America,United States of America,Office Supplies,Online,C,6/9/2017,811701095,7/19/2017,9247,651.21,524.96,6021738.87,4854305.12,1167433.75\r\nSub-Saharan Africa,Liberia,Cereal,Online,L,2/8/2015,977313554,3/29/2015,7653,205.70,117.11,1574222.10,896242.83,677979.27\r\nSub-Saharan Africa,Eritrea,Snacks,Offline,L,1/25/2010,546986377,2/10/2010,4279,152.58,97.44,652889.82,416945.76,235944.06\r\nAsia,South Korea,Fruits,Offline,L,3/7/2010,769205892,3/17/2010,3972,9.33,6.92,37058.76,27486.24,9572.52\r\nSub-Saharan Africa,Kenya,Clothes,Offline,M,1/3/2013,262770926,2/8/2013,8611,109.28,35.84,941010.08,308618.24,632391.84\r\nSub-Saharan Africa,Rwanda,Snacks,Online,M,3/6/2017,866792809,3/18/2017,2109,152.58,97.44,321791.22,205500.96,116290.26\r\nCentral America and the Caribbean,Cuba,Beverages,Offline,C,1/9/2011,890695369,2/23/2011,5408,47.45,31.79,256609.60,171920.32,84689.28\r\nMiddle East and North Africa,Libya,Cereal,Offline,M,3/27/2014,964214932,3/31/2014,1480,205.70,117.11,304436.00,173322.80,131113.20\r\nEurope,Czech Republic,Snacks,Online,C,6/28/2013,887400329,8/17/2013,332,152.58,97.44,50656.56,32350.08,18306.48\r\nEurope,Montenegro,Beverages,Offline,M,9/4/2011,980612885,9/4/2011,3999,47.45,31.79,189752.55,127128.21,62624.34\r\nEurope,Montenegro,Clothes,Offline,M,7/14/2016,734526431,8/2/2016,1549,109.28,35.84,169274.72,55516.16,113758.56\r\nAsia,Philippines,Baby Food,Online,L,2/23/2014,160127294,3/23/2014,4079,255.28,159.42,1041287.12,650274.18,391012.94\r\nCentral America and the Caribbean,El Salvador,Clothes,Offline,L,8/7/2010,238714301,9/13/2010,9721,109.28,35.84,1062310.88,348400.64,713910.24\r\nAustralia and Oceania,Tonga,Household,Online,M,1/14/2013,671898782,2/6/2013,8635,668.27,502.54,5770511.45,4339432.90,1431078.55\r\nSub-Saharan Africa,Democratic Republic of the Congo,Personal Care,Offline,H,9/30/2010,331604564,11/17/2010,8014,81.73,56.67,654984.22,454153.38,200830.84\r\nMiddle East and North Africa,Afghanistan,Cereal,Online,M,10/13/2016,410067975,11/20/2016,7081,205.70,117.11,1456561.70,829255.91,627305.79\r\nAustralia and Oceania,Tuvalu,Snacks,Offline,L,3/16/2011,369837844,3/23/2011,2091,152.58,97.44,319044.78,203747.04,115297.74\r\nSub-Saharan Africa,Sudan,Fruits,Online,L,12/26/2012,193775498,1/31/2013,1331,9.33,6.92,12418.23,9210.52,3207.71\r\nSub-Saharan Africa,Niger,Clothes,Online,M,9/2/2015,835054767,10/9/2015,117,109.28,35.84,12785.76,4193.28,8592.48\r\nSub-Saharan Africa,Gabon,Household,Offline,C,11/11/2013,167161977,12/24/2013,5798,668.27,502.54,3874629.46,2913726.92,960902.54\r\nAustralia and Oceania,East Timor,Vegetables,Offline,C,8/4/2014,633895957,8/22/2014,2755,154.06,90.93,424435.30,250512.15,173923.15\r\nNorth America,United States of America,Clothes,Offline,C,10/21/2010,699368035,12/7/2010,7398,109.28,35.84,808453.44,265144.32,543309.12\r\nMiddle East and North Africa,Jordan,Vegetables,Offline,L,6/13/2015,698002040,7/29/2015,3170,154.06,90.93,488370.20,288248.10,200122.10\r\nEurope,Cyprus,Snacks,Offline,H,3/29/2012,584534299,5/18/2012,5544,152.58,97.44,845903.52,540207.36,305696.16\r\nSub-Saharan Africa,Malawi,Vegetables,Online,L,6/22/2012,384013640,7/19/2012,7025,154.06,90.93,1082271.50,638783.25,443488.25\r\nEurope,Iceland,Personal Care,Online,M,5/10/2013,641801393,5/24/2013,2149,81.73,56.67,175637.77,121783.83,53853.94\r\nMiddle East and North Africa,Israel,Personal Care,Online,M,12/10/2016,173571383,1/11/2017,2484,81.73,56.67,203017.32,140768.28,62249.04\r\nMiddle East and North Africa,United Arab Emirates,Snacks,Offline,H,3/20/2011,115309941,4/6/2011,1629,152.58,97.44,248552.82,158729.76,89823.06\r\nAsia,China,Cosmetics,Offline,L,9/22/2011,773315894,11/4/2011,213,437.20,263.33,93123.60,56089.29,37034.31\r\nSub-Saharan Africa,Kenya,Beverages,Online,M,5/11/2012,274200570,6/26/2012,897,47.45,31.79,42562.65,28515.63,14047.02\r\nMiddle East and North Africa,Somalia,Clothes,Offline,M,11/15/2011,414887797,11/17/2011,3374,109.28,35.84,368710.72,120924.16,247786.56\r\nAustralia and Oceania,Tonga,Beverages,Offline,L,1/27/2010,812613904,1/29/2010,9367,47.45,31.79,444464.15,297776.93,146687.22\r\nAsia,Bangladesh,Baby Food,Online,H,8/17/2011,254927718,9/7/2011,7632,255.28,159.42,1948296.96,1216693.44,731603.52\r\nMiddle East and North Africa,Egypt,Beverages,Offline,M,9/6/2014,749690568,10/26/2014,8954,47.45,31.79,424867.30,284647.66,140219.64\r\nSub-Saharan Africa,Eritrea,Cereal,Offline,C,9/3/2014,775076282,9/19/2014,1150,205.70,117.11,236555.00,134676.50,101878.50\r\nSub-Saharan Africa,Swaziland,Office Supplies,Online,H,9/5/2015,229571187,9/18/2015,4071,651.21,524.96,2651075.91,2137112.16,513963.75\r\nAsia,Vietnam,Baby Food,Online,C,6/20/2011,881974112,7/11/2011,4594,255.28,159.42,1172756.32,732375.48,440380.84\r\nAustralia and Oceania,Marshall Islands,Snacks,Online,L,1/12/2012,521396386,2/14/2012,1632,152.58,97.44,249010.56,159022.08,89988.48\r\nAsia,Taiwan,Household,Online,C,1/23/2017,607261836,2/22/2017,1127,668.27,502.54,753140.29,566362.58,186777.71\r\nEurope,Ireland,Vegetables,Online,M,3/4/2012,419306790,3/12/2012,1052,154.06,90.93,162071.12,95658.36,66412.76\r\nSub-Saharan Africa,Rwanda,Meat,Offline,H,7/18/2010,207580077,7/18/2010,6413,421.89,364.69,2705580.57,2338756.97,366823.60\r\nEurope,Sweden,Snacks,Online,M,4/12/2011,742443025,4/15/2011,4245,152.58,97.44,647702.10,413632.80,234069.30\r\nSub-Saharan Africa,Gabon,Snacks,Offline,M,10/3/2010,164569461,10/5/2010,8615,152.58,97.44,1314476.70,839445.60,475031.10\r\nSub-Saharan Africa,South Africa,Baby Food,Online,L,12/29/2013,734945714,2/12/2014,5624,255.28,159.42,1435694.72,896578.08,539116.64\r\nEurope,United Kingdom,Clothes,Offline,C,9/19/2015,284870612,10/7/2015,8399,109.28,35.84,917842.72,301020.16,616822.56\r\nEurope,Albania,Fruits,Offline,M,9/17/2011,765955483,10/7/2011,2104,9.33,6.92,19630.32,14559.68,5070.64\r\nAsia,Malaysia,Snacks,Offline,H,3/11/2010,600124156,4/21/2010,8929,152.58,97.44,1362386.82,870041.76,492345.06\r\nSub-Saharan Africa,Ghana,Household,Offline,L,11/10/2012,529612958,12/11/2012,3098,668.27,502.54,2070300.46,1556868.92,513431.54\r\nCentral America and the Caribbean,Cuba,Clothes,Offline,H,2/16/2011,466970717,3/18/2011,5867,109.28,35.84,641145.76,210273.28,430872.48\r\nCentral America and the Caribbean,Saint Lucia,Cosmetics,Online,C,8/13/2012,845058763,9/22/2012,522,437.20,263.33,228218.40,137458.26,90760.14\r\nEurope,Romania,Snacks,Offline,L,8/28/2014,367050921,8/31/2014,7379,152.58,97.44,1125887.82,719009.76,406878.06\r\nEurope,Portugal,Office Supplies,Online,L,8/19/2015,956433522,9/12/2015,8788,651.21,524.96,5722833.48,4613348.48,1109485.00\r\nEurope,Macedonia,Beverages,Online,C,3/20/2011,107005393,5/4/2011,4129,47.45,31.79,195921.05,131260.91,64660.14\r\nAsia,China,Beverages,Offline,C,4/16/2013,332877862,5/7/2013,4811,47.45,31.79,228281.95,152941.69,75340.26\r\nEurope,Germany,Baby Food,Online,L,11/13/2015,618474757,12/31/2015,9279,255.28,159.42,2368743.12,1479258.18,889484.94\r\nEurope,Ireland,Household,Online,M,1/10/2014,468532407,2/11/2014,8006,668.27,502.54,5350169.62,4023335.24,1326834.38\r\nEurope,Poland,Office Supplies,Offline,M,4/9/2015,358099639,4/29/2015,8496,651.21,524.96,5532680.16,4460060.16,1072620.00\r\nSub-Saharan Africa,Namibia,Household,Online,H,1/7/2013,382537782,1/27/2013,285,668.27,502.54,190456.95,143223.90,47233.05\r\nAsia,Uzbekistan,Personal Care,Offline,H,2/12/2013,707520663,3/15/2013,9942,81.73,56.67,812559.66,563413.14,249146.52\r\nSub-Saharan Africa,Zimbabwe,Meat,Online,M,11/28/2014,219034612,12/10/2014,6064,421.89,364.69,2558340.96,2211480.16,346860.80\r\nAsia,Mongolia,Meat,Offline,M,1/3/2015,573378455,1/17/2015,4281,421.89,364.69,1806111.09,1561237.89,244873.20\r\nEurope,Norway,Personal Care,Online,H,2/3/2011,347163522,3/22/2011,2256,81.73,56.67,184382.88,127847.52,56535.36\r\nMiddle East and North Africa,Oman,Snacks,Offline,M,4/9/2013,887313640,4/21/2013,4679,152.58,97.44,713921.82,455921.76,258000.06\r\nEurope,Serbia,Cosmetics,Online,H,7/26/2017,461065137,8/19/2017,8275,437.20,263.33,3617830.00,2179055.75,1438774.25\r\nSub-Saharan Africa,Democratic Republic of the Congo,Fruits,Offline,H,4/15/2017,105966842,5/19/2017,6798,9.33,6.92,63425.34,47042.16,16383.18\r\nEurope,Bulgaria,Baby Food,Online,M,5/16/2014,479880082,5/23/2014,6035,255.28,159.42,1540614.80,962099.70,578515.10\r\nAsia,Brunei,Baby Food,Online,H,8/12/2015,510978686,9/30/2015,8803,255.28,159.42,2247229.84,1403374.26,843855.58\r\nEurope,Serbia,Snacks,Offline,C,9/20/2013,547748982,10/14/2013,9951,152.58,97.44,1518323.58,969625.44,548698.14\r\nSub-Saharan Africa,Ghana,Cereal,Offline,M,10/31/2013,108989799,12/9/2013,1358,205.70,117.11,279340.60,159035.38,120305.22\r\nSub-Saharan Africa,Malawi,Cereal,Offline,M,7/30/2014,133812463,8/9/2014,6936,205.70,117.11,1426735.20,812274.96,614460.24\r\nSub-Saharan Africa,Zimbabwe,Fruits,Offline,L,11/12/2011,731640803,12/30/2011,7627,9.33,6.92,71159.91,52778.84,18381.07\r\nEurope,Cyprus,Snacks,Offline,C,3/25/2010,732211148,4/14/2010,6405,152.58,97.44,977274.90,624103.20,353171.70\r\nCentral America and the Caribbean,Nicaragua,Cereal,Online,M,7/4/2011,835572326,8/8/2011,3274,205.70,117.11,673461.80,383418.14,290043.66\r\nEurope,Estonia,Baby Food,Offline,C,1/1/2011,462085664,1/15/2011,271,255.28,159.42,69180.88,43202.82,25978.06\r\nEurope,Estonia,Clothes,Online,C,6/16/2016,902424991,7/4/2016,6463,109.28,35.84,706276.64,231633.92,474642.72\r\nEurope,Lithuania,Fruits,Offline,H,12/17/2013,367576634,1/5/2014,2949,9.33,6.92,27514.17,20407.08,7107.09\r\nSub-Saharan Africa,Republic of the Congo,Meat,Offline,H,3/1/2017,738839423,3/31/2017,7859,421.89,364.69,3315633.51,2866098.71,449534.80\r\nEurope,Czech Republic,Baby Food,Online,C,7/2/2010,817824685,7/27/2010,1353,255.28,159.42,345393.84,215695.26,129698.58\r\nSub-Saharan Africa,Cameroon,Snacks,Online,C,7/16/2013,376456248,8/1/2013,624,152.58,97.44,95209.92,60802.56,34407.36\r\nAsia,Vietnam,Office Supplies,Online,H,8/16/2016,606970441,9/16/2016,4897,651.21,524.96,3188975.37,2570729.12,618246.25\r\nEurope,Moldova ,Meat,Offline,L,12/16/2014,971916091,1/19/2015,424,421.89,364.69,178881.36,154628.56,24252.80\r\nMiddle East and North Africa,Bahrain,Office Supplies,Offline,L,5/14/2012,554154527,5/15/2012,5494,651.21,524.96,3577747.74,2884130.24,693617.50\r\nEurope,Hungary,Household,Online,L,7/18/2017,306859576,7/19/2017,5423,668.27,502.54,3624028.21,2725274.42,898753.79\r\nAustralia and Oceania,Marshall Islands,Personal Care,Offline,L,7/9/2017,803517568,7/21/2017,7559,81.73,56.67,617797.07,428368.53,189428.54\r\nMiddle East and North Africa,Iraq,Office Supplies,Online,C,9/30/2011,887927329,10/2/2011,6283,651.21,524.96,4091552.43,3298323.68,793228.75\r\nEurope,Albania,Vegetables,Online,H,11/24/2015,824200189,11/26/2015,8006,154.06,90.93,1233404.36,727985.58,505418.78\r\nSub-Saharan Africa,Lesotho,Office Supplies,Online,H,8/14/2012,946759974,9/14/2012,6170,651.21,524.96,4017965.70,3239003.20,778962.50\r\nMiddle East and North Africa,Lebanon,Clothes,Offline,H,12/6/2015,310343015,12/28/2015,6249,109.28,35.84,682890.72,223964.16,458926.56\r\nEurope,Hungary,Vegetables,Online,C,5/25/2014,739998137,7/9/2014,748,154.06,90.93,115236.88,68015.64,47221.24\r\nAsia,Japan,Beverages,Online,H,10/18/2012,981086671,11/21/2012,4203,47.45,31.79,199432.35,133613.37,65818.98\r\nEurope,Georgia,Office Supplies,Offline,L,3/13/2013,749282443,3/25/2013,8180,651.21,524.96,5326897.80,4294172.80,1032725.00\r\nEurope,Estonia,Office Supplies,Online,C,2/23/2011,280571782,3/11/2011,6280,651.21,524.96,4089598.80,3296748.80,792850.00\r\nEurope,Luxembourg,Household,Online,C,8/15/2014,781253516,9/1/2014,9131,668.27,502.54,6101973.37,4588692.74,1513280.63\r\nSub-Saharan Africa,Swaziland,Personal Care,Online,H,7/6/2017,377938973,7/11/2017,9396,81.73,56.67,767935.08,532471.32,235463.76\r\nEurope,Romania,Clothes,Offline,C,12/31/2010,867551982,1/3/2011,6765,109.28,35.84,739279.20,242457.60,496821.60\r\nSub-Saharan Africa,Ethiopia,Personal Care,Offline,C,1/13/2010,967328870,1/15/2010,2964,81.73,56.67,242247.72,167969.88,74277.84\r\nSub-Saharan Africa,Chad,Office Supplies,Offline,C,9/17/2011,364818465,10/16/2011,6746,651.21,524.96,4393062.66,3541380.16,851682.50\r\nMiddle East and North Africa,Morocco,Office Supplies,Online,C,3/8/2014,167882096,3/31/2014,8898,651.21,524.96,5794466.58,4671094.08,1123372.50\r\nNorth America,Mexico,Clothes,Online,H,11/18/2012,654693591,12/1/2012,7237,109.28,35.84,790859.36,259374.08,531485.28\r\nSub-Saharan Africa,Nigeria,Personal Care,Offline,H,11/18/2011,823739278,12/29/2011,1612,81.73,56.67,131748.76,91352.04,40396.72\r\nCentral America and the Caribbean,Trinidad and Tobago,Beverages,Offline,L,7/12/2012,643817985,8/19/2012,8904,47.45,31.79,422494.80,283058.16,139436.64\r\nEurope,Moldova ,Personal Care,Offline,H,3/30/2017,604041039,5/15/2017,8022,81.73,56.67,655638.06,454606.74,201031.32\r\nAustralia and Oceania,Solomon Islands,Personal Care,Online,H,7/26/2010,363832271,9/12/2010,4909,81.73,56.67,401212.57,278193.03,123019.54\r\nAsia,India,Personal Care,Online,L,12/24/2015,102928006,1/31/2016,7539,81.73,56.67,616162.47,427235.13,188927.34\r\nSub-Saharan Africa,Burkina Faso,Office Supplies,Offline,M,5/15/2016,971377074,5/15/2016,917,651.21,524.96,597159.57,481388.32,115771.25\r\nAustralia and Oceania,Kiribati,Meat,Online,L,11/3/2010,139540803,12/4/2010,2079,421.89,364.69,877109.31,758190.51,118918.80\r\nMiddle East and North Africa,Israel,Meat,Offline,M,12/1/2010,248093020,12/16/2010,5093,421.89,364.69,2148685.77,1857366.17,291319.60\r\nSub-Saharan Africa,Comoros,Snacks,Offline,L,1/16/2014,858020055,1/17/2014,6056,152.58,97.44,924024.48,590096.64,333927.84\r\nMiddle East and North Africa,Iran,Baby Food,Offline,H,12/11/2014,700620734,1/5/2015,8099,255.28,159.42,2067512.72,1291142.58,776370.14\r\nAsia,Vietnam,Cosmetics,Offline,L,12/24/2016,827506387,1/30/2017,6384,437.20,263.33,2791084.80,1681098.72,1109986.08\r\nCentral America and the Caribbean,Belize,Household,Online,M,3/21/2013,560600841,4/14/2013,3101,668.27,502.54,2072305.27,1558376.54,513928.73\r\nEurope,Belarus,Personal Care,Offline,H,12/8/2012,642140424,1/16/2013,2476,81.73,56.67,202363.48,140314.92,62048.56\r\nNorth America,United States of America,Baby Food,Offline,C,2/13/2015,984673964,3/5/2015,5763,255.28,159.42,1471178.64,918737.46,552441.18\r\nEurope,Poland,Beverages,Online,L,3/28/2012,221062791,4/18/2012,6247,47.45,31.79,296420.15,198592.13,97828.02\r\nNorth America,Canada,Vegetables,Offline,L,10/7/2016,654480731,11/8/2016,4247,154.06,90.93,654292.82,386179.71,268113.11\r\nMiddle East and North Africa,Israel,Beverages,Offline,C,12/15/2011,608414113,12/23/2011,2111,47.45,31.79,100166.95,67108.69,33058.26\r\nMiddle East and North Africa,Lebanon,Household,Online,L,3/8/2016,276661765,4/20/2016,9219,668.27,502.54,6160781.13,4632916.26,1527864.87\r\nEurope,Andorra,Baby Food,Online,L,1/18/2011,373335015,2/28/2011,6982,255.28,159.42,1782364.96,1113070.44,669294.52\r\nEurope,Slovakia,Clothes,Online,L,4/11/2013,782857692,5/28/2013,3843,109.28,35.84,419963.04,137733.12,282229.92\r\nSub-Saharan Africa,Liberia,Fruits,Online,H,5/18/2010,109966123,6/5/2010,274,9.33,6.92,2556.42,1896.08,660.34\r\nCentral America and the Caribbean,Antigua and Barbuda ,Cereal,Offline,M,6/5/2017,629709136,6/6/2017,3782,205.70,117.11,777957.40,442910.02,335047.38\r\nAsia,China,Personal Care,Online,L,9/11/2012,637448060,9/15/2012,3901,81.73,56.67,318828.73,221069.67,97759.06\r\nSub-Saharan Africa,Niger,Baby Food,Online,H,3/8/2017,298856723,4/3/2017,7200,255.28,159.42,1838016.00,1147824.00,690192.00\r\nEurope,United Kingdom,Household,Offline,L,1/28/2015,299921452,2/23/2015,2278,668.27,502.54,1522319.06,1144786.12,377532.94\r\nAsia,Bangladesh,Personal Care,Offline,M,7/26/2010,496941077,7/29/2010,4763,81.73,56.67,389279.99,269919.21,119360.78\r\nAsia,Myanmar,Snacks,Online,L,6/24/2016,366526925,7/14/2016,2317,152.58,97.44,353527.86,225768.48,127759.38\r\nAustralia and Oceania,Tonga,Meat,Offline,M,8/18/2012,355602824,9/15/2012,9633,421.89,364.69,4064066.37,3513058.77,551007.60\r\nSub-Saharan Africa,Guinea-Bissau,Vegetables,Online,C,3/11/2010,531405103,4/19/2010,3434,154.06,90.93,529042.04,312253.62,216788.42\r\nAustralia and Oceania,Nauru,Vegetables,Offline,M,1/14/2010,131482589,1/20/2010,7475,154.06,90.93,1151598.50,679701.75,471896.75\r\nSub-Saharan Africa,Swaziland,Cereal,Online,L,2/10/2014,713696610,3/28/2014,7542,205.70,117.11,1551389.40,883243.62,668145.78\r\nEurope,Finland,Vegetables,Online,C,1/21/2014,306220996,1/30/2014,6452,154.06,90.93,993995.12,586680.36,407314.76\r\nAustralia and Oceania,Papua New Guinea,Household,Offline,L,2/28/2010,157542073,3/15/2010,9055,668.27,502.54,6051184.85,4550499.70,1500685.15\r\nSub-Saharan Africa,Mauritius ,Personal Care,Online,L,2/18/2015,686458671,3/8/2015,7230,81.73,56.67,590907.90,409724.10,181183.80\r\nSub-Saharan Africa,Mozambique,Office Supplies,Online,M,6/14/2012,132082116,7/22/2012,4888,651.21,524.96,3183114.48,2566004.48,617110.00\r\nEurope,Bulgaria,Clothes,Online,L,3/5/2013,403836238,4/3/2013,2972,109.28,35.84,324780.16,106516.48,218263.68\r\nEurope,Spain,Household,Online,C,4/10/2014,331457364,4/23/2014,4455,668.27,502.54,2977142.85,2238815.70,738327.15\r\nAustralia and Oceania,Vanuatu,Meat,Online,H,7/26/2017,614994323,9/12/2017,9341,421.89,364.69,3940874.49,3406569.29,534305.20\r\nEurope,Belgium,Fruits,Offline,L,10/19/2010,674808442,10/24/2010,9669,9.33,6.92,90211.77,66909.48,23302.29\r\nEurope,Belgium,Baby Food,Offline,L,11/8/2016,901573550,12/23/2016,4503,255.28,159.42,1149525.84,717868.26,431657.58\r\nSub-Saharan Africa,Guinea-Bissau,Clothes,Online,L,3/31/2014,406275975,5/10/2014,4944,109.28,35.84,540280.32,177192.96,363087.36\r\nSub-Saharan Africa,Togo,Vegetables,Online,C,8/18/2016,170214545,8/19/2016,9121,154.06,90.93,1405181.26,829372.53,575808.73\r\nSub-Saharan Africa,Cote d'Ivoire,Personal Care,Offline,C,1/3/2016,795000588,1/8/2016,7196,81.73,56.67,588129.08,407797.32,180331.76\r\nSub-Saharan Africa,Republic of the Congo,Fruits,Offline,C,10/21/2016,252557933,11/4/2016,6360,9.33,6.92,59338.80,44011.20,15327.60\r\nMiddle East and North Africa,Libya,Baby Food,Offline,M,12/10/2016,635122907,12/13/2016,5837,255.28,159.42,1490069.36,930534.54,559534.82\r\nAustralia and Oceania,East Timor,Vegetables,Online,C,8/12/2011,505244338,9/19/2011,1882,154.06,90.93,289940.92,171130.26,118810.66\r\nEurope,Switzerland,Clothes,Offline,H,3/23/2012,745783555,5/9/2012,2782,109.28,35.84,304016.96,99706.88,204310.08\r\nAustralia and Oceania,Palau,Snacks,Offline,M,4/27/2012,509914386,6/11/2012,3853,152.58,97.44,587890.74,375436.32,212454.42\r\nMiddle East and North Africa,Jordan,Household,Online,M,1/29/2014,371123158,2/9/2014,2445,668.27,502.54,1633920.15,1228710.30,405209.85\r\nEurope,Slovenia,Household,Online,H,12/13/2016,973208701,12/28/2016,2936,668.27,502.54,1962040.72,1475457.44,486583.28\r\nAsia,South Korea,Baby Food,Online,L,11/21/2013,780282342,12/27/2013,1739,255.28,159.42,443931.92,277231.38,166700.54\r\nEurope,Norway,Clothes,Online,H,4/7/2010,126767909,5/22/2010,2296,109.28,35.84,250906.88,82288.64,168618.24\r\nMiddle East and North Africa,Afghanistan,Baby Food,Online,M,7/8/2012,767401731,7/30/2012,80,255.28,159.42,20422.40,12753.60,7668.80\r\nAsia,Bangladesh,Personal Care,Online,L,10/15/2016,927232635,11/24/2016,7597,81.73,56.67,620902.81,430521.99,190380.82\r\nSub-Saharan Africa,Guinea,Meat,Offline,M,9/18/2012,251621949,10/20/2012,9381,421.89,364.69,3957750.09,3421156.89,536593.20\r\nCentral America and the Caribbean,Cuba,Office Supplies,Offline,H,7/2/2017,256243503,7/23/2017,7002,651.21,524.96,4559772.42,3675769.92,884002.50\r\nEurope,Russia,Cosmetics,Offline,C,7/21/2011,277083623,9/2/2011,4056,437.20,263.33,1773283.20,1068066.48,705216.72\r\nSub-Saharan Africa,Seychelles ,Vegetables,Offline,L,6/1/2010,620441138,6/22/2010,1175,154.06,90.93,181020.50,106842.75,74177.75\r\nAsia,South Korea,Office Supplies,Offline,M,7/26/2015,312927377,9/7/2015,1020,651.21,524.96,664234.20,535459.20,128775.00\r\nSub-Saharan Africa,Ghana,Baby Food,Offline,L,8/6/2010,251466166,9/8/2010,3282,255.28,159.42,837828.96,523216.44,314612.52\r\nCentral America and the Caribbean,Costa Rica,Office Supplies,Online,H,6/20/2010,953293836,7/22/2010,9685,651.21,524.96,6306968.85,5084237.60,1222731.25\r\nEurope,Romania,Cereal,Online,C,4/8/2012,305959212,4/23/2012,8985,205.70,117.11,1848214.50,1052233.35,795981.15\r\nEurope,Czech Republic,Cereal,Online,L,2/27/2014,317323625,3/24/2014,1967,205.70,117.11,404611.90,230355.37,174256.53\r\nEurope,Liechtenstein,Household,Offline,L,7/25/2011,365560901,9/1/2011,6449,668.27,502.54,4309673.23,3240880.46,1068792.77\r\nSub-Saharan Africa,Seychelles ,Baby Food,Online,M,2/18/2016,349157369,4/5/2016,2279,255.28,159.42,581783.12,363318.18,218464.94\r\nMiddle East and North Africa,Somalia,Baby Food,Online,L,1/24/2014,236911857,2/25/2014,6338,255.28,159.42,1617964.64,1010403.96,607560.68\r\nAustralia and Oceania,Solomon Islands,Personal Care,Offline,H,5/10/2015,517935693,6/16/2015,7536,81.73,56.67,615917.28,427065.12,188852.16\r\nSub-Saharan Africa,Uganda,Clothes,Offline,C,2/13/2012,851652705,3/27/2012,1816,109.28,35.84,198452.48,65085.44,133367.04\r\nSub-Saharan Africa,Equatorial Guinea,Cereal,Offline,M,9/7/2012,517799222,10/23/2012,7151,205.70,117.11,1470960.70,837453.61,633507.09\r\nCentral America and the Caribbean,Costa Rica,Office Supplies,Offline,C,2/4/2015,666424071,3/4/2015,8547,651.21,524.96,5565891.87,4486833.12,1079058.75\r\nEurope,Moldova ,Fruits,Offline,C,11/16/2010,267888581,12/22/2010,3039,9.33,6.92,28353.87,21029.88,7323.99\r\nSub-Saharan Africa,Burkina Faso,Vegetables,Online,L,7/20/2011,162866580,7/26/2011,4695,154.06,90.93,723311.70,426916.35,296395.35\r\nCentral America and the Caribbean,Guatemala,Beverages,Offline,H,7/26/2014,812344396,8/30/2014,9614,47.45,31.79,456184.30,305629.06,150555.24\r\nSub-Saharan Africa,Swaziland,Meat,Online,M,8/24/2014,947620856,9/3/2014,924,421.89,364.69,389826.36,336973.56,52852.80\r\nAsia,Maldives,Vegetables,Online,H,2/25/2015,720307290,3/28/2015,3789,154.06,90.93,583733.34,344533.77,239199.57\r\nAsia,Thailand,Household,Online,H,9/21/2016,352327525,10/27/2016,399,668.27,502.54,266639.73,200513.46,66126.27\r\nSub-Saharan Africa,Sudan,Household,Online,C,6/28/2013,585917890,7/23/2013,4979,668.27,502.54,3327316.33,2502146.66,825169.67\r\nCentral America and the Caribbean,Costa Rica,Meat,Offline,L,1/5/2012,433627212,2/13/2012,8783,421.89,364.69,3705459.87,3203072.27,502387.60\r\nEurope,Denmark,Beverages,Online,C,5/1/2012,328316819,5/30/2012,5098,47.45,31.79,241900.10,162065.42,79834.68\r\nSub-Saharan Africa,Angola,Cereal,Offline,C,10/13/2011,773160541,11/21/2011,4240,205.70,117.11,872168.00,496546.40,375621.60\r\nAustralia and Oceania,Papua New Guinea,Household,Online,M,4/27/2016,991644704,5/18/2016,8559,668.27,502.54,5719722.93,4301239.86,1418483.07\r\nAsia,North Korea,Meat,Online,M,1/19/2014,277568137,2/7/2014,7435,421.89,364.69,3136752.15,2711470.15,425282.00\r\nCentral America and the Caribbean,El Salvador,Fruits,Online,C,11/6/2016,245042169,12/15/2016,2278,9.33,6.92,21253.74,15763.76,5489.98\r\nSub-Saharan Africa,Burkina Faso,Household,Online,M,2/28/2011,778490626,3/24/2011,1531,668.27,502.54,1023121.37,769388.74,253732.63\r\nMiddle East and North Africa,Yemen,Baby Food,Online,C,10/11/2014,482649838,11/13/2014,5668,255.28,159.42,1446927.04,903592.56,543334.48\r\nSub-Saharan Africa,Republic of the Congo,Beverages,Online,L,6/25/2012,732568633,7/5/2012,2193,47.45,31.79,104057.85,69715.47,34342.38\r\nEurope,Andorra,Household,Online,M,11/6/2012,723608338,11/23/2012,642,668.27,502.54,429029.34,322630.68,106398.66\r\nCentral America and the Caribbean,Dominican Republic,Household,Offline,H,2/24/2014,621442782,4/14/2014,7584,668.27,502.54,5068159.68,3811263.36,1256896.32\r\nMiddle East and North Africa,Israel,Baby Food,Offline,M,9/19/2015,212058293,10/6/2015,1616,255.28,159.42,412532.48,257622.72,154909.76\r\nAustralia and Oceania,Solomon Islands,Snacks,Offline,L,3/4/2014,251753699,3/24/2014,8369,152.58,97.44,1276942.02,815475.36,461466.66\r\nSub-Saharan Africa,Liberia,Fruits,Online,M,10/8/2014,217140328,10/30/2014,5503,9.33,6.92,51342.99,38080.76,13262.23\r\nSub-Saharan Africa,Mali,Vegetables,Online,C,6/19/2012,555142009,7/10/2012,7712,154.06,90.93,1188110.72,701252.16,486858.56\r\nAsia,Uzbekistan,Clothes,Online,C,11/11/2010,432995069,12/13/2010,1718,109.28,35.84,187743.04,61573.12,126169.92\r\nMiddle East and North Africa,Tunisia ,Personal Care,Offline,H,11/1/2010,888248336,11/7/2010,1276,81.73,56.67,104287.48,72310.92,31976.56\r\nEurope,Vatican City,Vegetables,Online,C,4/28/2014,778763139,5/9/2014,2173,154.06,90.93,334772.38,197590.89,137181.49\r\nSub-Saharan Africa,Djibouti,Snacks,Offline,H,12/22/2012,832713305,2/9/2013,7227,152.58,97.44,1102695.66,704198.88,398496.78\r\nEurope,Ukraine,Household,Offline,M,8/25/2014,498585164,9/29/2014,1285,668.27,502.54,858726.95,645763.90,212963.05\r\nAustralia and Oceania,East Timor,Fruits,Offline,M,11/26/2016,195177543,12/23/2016,6227,9.33,6.92,58097.91,43090.84,15007.07\r\nSub-Saharan Africa,Uganda,Cereal,Online,C,10/20/2010,861601769,12/2/2010,5965,205.70,117.11,1227000.50,698561.15,528439.35\r\nSub-Saharan Africa,Guinea,Meat,Online,H,12/18/2014,807281672,1/26/2015,1441,421.89,364.69,607943.49,525518.29,82425.20\r\nSub-Saharan Africa,Equatorial Guinea,Clothes,Offline,H,3/20/2011,661953580,4/24/2011,5629,109.28,35.84,615137.12,201743.36,413393.76\r\nEurope,Malta,Cosmetics,Online,M,7/12/2016,225666320,8/21/2016,8534,437.20,263.33,3731064.80,2247258.22,1483806.58\r\nEurope,Cyprus,Household,Offline,L,1/26/2011,718781220,2/19/2011,2191,668.27,502.54,1464179.57,1101065.14,363114.43\r\nEurope,Czech Republic,Office Supplies,Online,L,2/24/2010,731972110,4/15/2010,5668,651.21,524.96,3691058.28,2975473.28,715585.00\r\nMiddle East and North Africa,Libya,Vegetables,Online,C,1/2/2015,276225316,2/9/2015,64,154.06,90.93,9859.84,5819.52,4040.32\r\nAsia,Vietnam,Office Supplies,Offline,C,7/26/2016,332839667,7/27/2016,3509,651.21,524.96,2285095.89,1842084.64,443011.25\r\nMiddle East and North Africa,Jordan,Vegetables,Online,C,6/1/2014,603426492,6/15/2014,6163,154.06,90.93,949471.78,560401.59,389070.19\r\nSub-Saharan Africa,Mali,Beverages,Offline,H,12/21/2012,859909617,1/29/2013,5220,47.45,31.79,247689.00,165943.80,81745.20\r\nEurope,Czech Republic,Household,Online,L,2/27/2010,494525372,3/2/2010,9902,668.27,502.54,6617209.54,4976151.08,1641058.46\r\nEurope,Slovakia,Vegetables,Online,M,4/24/2016,769822585,5/15/2016,6465,154.06,90.93,995997.90,587862.45,408135.45\r\nSub-Saharan Africa,Zimbabwe,Vegetables,Offline,C,7/22/2012,768662583,8/10/2012,3195,154.06,90.93,492221.70,290521.35,201700.35\r\nCentral America and the Caribbean,Honduras,Cereal,Online,M,2/22/2015,544219195,3/9/2015,5409,205.70,117.11,1112631.30,633447.99,479183.31\r\nEurope,Switzerland,Beverages,Offline,L,2/10/2011,669978749,3/20/2011,455,47.45,31.79,21589.75,14464.45,7125.30\r\nSub-Saharan Africa,South Africa,Cosmetics,Offline,L,1/21/2015,889740073,1/26/2015,2715,437.20,263.33,1186998.00,714940.95,472057.05\r\nSub-Saharan Africa,Uganda,Beverages,Online,M,5/10/2012,567614495,6/28/2012,8598,47.45,31.79,407975.10,273330.42,134644.68\r\nMiddle East and North Africa,Iran,Vegetables,Offline,M,12/16/2015,938025844,1/21/2016,1547,154.06,90.93,238330.82,140668.71,97662.11\r\nMiddle East and North Africa,Algeria,Vegetables,Online,C,2/25/2017,155710446,2/25/2017,7036,154.06,90.93,1083966.16,639783.48,444182.68\r\nSub-Saharan Africa,Central African Republic,Baby Food,Online,L,1/31/2012,945717132,2/13/2012,7570,255.28,159.42,1932469.60,1206809.40,725660.20\r\nCentral America and the Caribbean,The Bahamas,Cosmetics,Offline,C,2/7/2013,253407227,2/15/2013,7685,437.20,263.33,3359882.00,2023691.05,1336190.95\r\nSub-Saharan Africa,South Africa,Household,Offline,H,9/14/2014,494454562,9/22/2014,8948,668.27,502.54,5979679.96,4496727.92,1482952.04\r\nSub-Saharan Africa,Benin,Cereal,Online,M,6/5/2012,104845464,7/24/2012,4957,205.70,117.11,1019654.90,580514.27,439140.63\r\nEurope,Hungary,Cosmetics,Online,M,4/5/2014,290878760,4/7/2014,6344,437.20,263.33,2773596.80,1670565.52,1103031.28\r\nEurope,Austria,Office Supplies,Offline,C,2/2/2014,979165780,2/10/2014,5768,651.21,524.96,3756179.28,3027969.28,728210.00\r\nAsia,Tajikistan,Office Supplies,Offline,C,9/1/2010,366630351,10/12/2010,2923,651.21,524.96,1903486.83,1534458.08,369028.75\r\nEurope,Portugal,Office Supplies,Online,C,5/17/2011,770508801,6/25/2011,9532,651.21,524.96,6207333.72,5003918.72,1203415.00\r\nEurope,Belgium,Beverages,Offline,M,4/21/2013,978349959,5/21/2013,4349,47.45,31.79,206360.05,138254.71,68105.34\r\nEurope,Slovenia,Beverages,Offline,L,8/10/2014,298015153,8/14/2014,8161,47.45,31.79,387239.45,259438.19,127801.26\r\nEurope,Czech Republic,Snacks,Online,M,9/19/2010,807678210,10/30/2010,8786,152.58,97.44,1340567.88,856107.84,484460.04\r\nAustralia and Oceania,Marshall Islands,Personal Care,Offline,C,4/13/2013,605825459,5/14/2013,6071,81.73,56.67,496182.83,344043.57,152139.26\r\nSub-Saharan Africa,Sudan,Fruits,Online,C,1/28/2016,561255729,2/1/2016,6897,9.33,6.92,64349.01,47727.24,16621.77\r\nCentral America and the Caribbean,Dominican Republic,Clothes,Online,H,12/9/2013,263080346,12/14/2013,175,109.28,35.84,19124.00,6272.00,12852.00\r\nSub-Saharan Africa,Tanzania,Cereal,Offline,C,2/21/2014,270723140,3/9/2014,1848,205.70,117.11,380133.60,216419.28,163714.32\r\nEurope,Switzerland,Clothes,Offline,H,6/9/2017,763920438,7/10/2017,9888,109.28,35.84,1080560.64,354385.92,726174.72\r\nNorth America,Greenland,Household,Online,L,4/17/2014,192721068,5/20/2014,9302,668.27,502.54,6216247.54,4674627.08,1541620.46\r\nAustralia and Oceania,Tonga,Fruits,Offline,L,5/20/2011,227486360,6/8/2011,7124,9.33,6.92,66466.92,49298.08,17168.84\r\nMiddle East and North Africa,Saudi Arabia,Vegetables,Online,M,8/28/2012,808890140,9/22/2012,7422,154.06,90.93,1143433.32,674882.46,468550.86\r\nCentral America and the Caribbean,Belize,Cosmetics,Offline,C,7/25/2015,597918736,9/11/2015,6296,437.20,263.33,2752611.20,1657925.68,1094685.52\r\nSub-Saharan Africa,Angola,Cosmetics,Online,H,10/27/2014,125870978,11/20/2014,6874,437.20,263.33,3005312.80,1810130.42,1195182.38\r\nAsia,Malaysia,Household,Online,H,10/18/2013,444358193,10/21/2013,4319,668.27,502.54,2886258.13,2170470.26,715787.87\r\nSub-Saharan Africa,Ethiopia,Beverages,Online,C,2/15/2013,875304210,3/12/2013,822,47.45,31.79,39003.90,26131.38,12872.52\r\nNorth America,Greenland,Baby Food,Offline,C,7/8/2014,360945355,8/16/2014,607,255.28,159.42,154954.96,96767.94,58187.02\r\nSub-Saharan Africa,Benin,Cereal,Offline,C,12/12/2016,613830459,1/16/2017,4928,205.70,117.11,1013689.60,577118.08,436571.52\r\nMiddle East and North Africa,Yemen,Cereal,Offline,H,11/24/2012,266820847,12/10/2012,7073,205.70,117.11,1454916.10,828319.03,626597.07\r\nSub-Saharan Africa,Rwanda,Baby Food,Offline,M,11/3/2014,723090350,11/27/2014,7358,255.28,159.42,1878350.24,1173012.36,705337.88\r\nSub-Saharan Africa,Mauritania,Meat,Offline,M,8/3/2013,306125295,8/15/2013,8132,421.89,364.69,3430809.48,2965659.08,465150.40\r\nAustralia and Oceania,New Zealand,Personal Care,Online,L,5/23/2012,109724509,6/16/2012,8775,81.73,56.67,717180.75,497279.25,219901.50\r\nAustralia and Oceania,Samoa ,Clothes,Offline,M,7/22/2015,847999322,8/6/2015,699,109.28,35.84,76386.72,25052.16,51334.56\r\nAustralia and Oceania,Fiji,Clothes,Online,H,2/1/2017,605373561,3/2/2017,2344,109.28,35.84,256152.32,84008.96,172143.36\r\nSub-Saharan Africa,Malawi,Beverages,Online,H,1/28/2012,686583554,2/22/2012,4186,47.45,31.79,198625.70,133072.94,65552.76\r\nAustralia and Oceania,Marshall Islands,Beverages,Offline,M,8/3/2015,666678130,9/21/2015,3729,47.45,31.79,176941.05,118544.91,58396.14\r\nCentral America and the Caribbean,Grenada,Baby Food,Online,M,6/23/2013,641018617,6/30/2013,508,255.28,159.42,129682.24,80985.36,48696.88\r\nEurope,Luxembourg,Meat,Online,C,8/3/2011,775278842,9/22/2011,1093,421.89,364.69,461125.77,398606.17,62519.60\r\nSub-Saharan Africa,Zimbabwe,Meat,Offline,M,10/30/2016,855445134,12/6/2016,4080,421.89,364.69,1721311.20,1487935.20,233376.00\r\nAsia,China,Vegetables,Online,H,9/5/2010,737816321,9/21/2010,5100,154.06,90.93,785706.00,463743.00,321963.00\r\nNorth America,United States of America,Beverages,Online,L,7/13/2013,799003732,7/14/2013,1815,47.45,31.79,86121.75,57698.85,28422.90\r\nSub-Saharan Africa,Central African Republic,Vegetables,Online,L,10/9/2012,585931193,11/21/2012,8916,154.06,90.93,1373598.96,810731.88,562867.08\r\nCentral America and the Caribbean,Antigua and Barbuda ,Vegetables,Online,M,1/3/2012,165835034,1/5/2012,3127,154.06,90.93,481745.62,284338.11,197407.51\r\nCentral America and the Caribbean,Guatemala,Baby Food,Offline,H,2/8/2012,576264083,3/14/2012,8203,255.28,159.42,2094061.84,1307722.26,786339.58\r\nMiddle East and North Africa,Qatar,Clothes,Offline,L,1/3/2015,675079667,1/7/2015,9930,109.28,35.84,1085150.40,355891.20,729259.20\r\nMiddle East and North Africa,Israel,Personal Care,Online,L,5/13/2012,290455615,5/28/2012,1126,81.73,56.67,92027.98,63810.42,28217.56\r\nAsia,Thailand,Snacks,Offline,L,1/13/2012,670878255,2/15/2012,6639,152.58,97.44,1012978.62,646904.16,366074.46\r\nAsia,Singapore,Cereal,Online,M,7/30/2011,435146415,8/12/2011,8349,205.70,117.11,1717389.30,977751.39,739637.91\r\nAsia,North Korea,Snacks,Online,C,3/13/2017,522371423,4/8/2017,167,152.58,97.44,25480.86,16272.48,9208.38\r\nEurope,Austria,Office Supplies,Online,L,3/23/2017,141977107,4/18/2017,3036,651.21,524.96,1977073.56,1593778.56,383295.00\r\nAsia,Japan,Baby Food,Offline,L,3/16/2016,823699796,4/19/2016,9929,255.28,159.42,2534675.12,1582881.18,951793.94\r\nSub-Saharan Africa,Zimbabwe,Beverages,Offline,L,12/18/2015,567588317,12/26/2015,851,47.45,31.79,40379.95,27053.29,13326.66\r\nEurope,Lithuania,Fruits,Offline,H,10/25/2011,594003999,11/16/2011,7838,9.33,6.92,73128.54,54238.96,18889.58\r\nEurope,Luxembourg,Baby Food,Offline,H,6/30/2011,393620669,8/2/2011,9958,255.28,159.42,2542078.24,1587504.36,954573.88\r\nSub-Saharan Africa,Central African Republic,Cosmetics,Offline,H,3/27/2016,877424657,4/10/2016,8309,437.20,263.33,3632694.80,2188008.97,1444685.83\r\nEurope,Norway,Household,Offline,M,12/23/2016,326714789,1/21/2017,1021,668.27,502.54,682303.67,513093.34,169210.33\r\nSub-Saharan Africa,Democratic Republic of the Congo,Fruits,Offline,M,4/18/2013,243102395,4/18/2013,8256,9.33,6.92,77028.48,57131.52,19896.96\r\nAustralia and Oceania,New Zealand,Household,Offline,L,3/8/2017,398511302,4/20/2017,7205,668.27,502.54,4814885.35,3620800.70,1194084.65\r\nEurope,Ukraine,Personal Care,Offline,M,6/3/2011,185177838,7/4/2011,7092,81.73,56.67,579629.16,401903.64,177725.52\r\nAsia,Taiwan,Personal Care,Offline,H,11/30/2013,865650832,12/31/2013,4173,81.73,56.67,341059.29,236483.91,104575.38\r\nEurope,Italy,Cereal,Offline,C,5/11/2013,622791612,5/31/2013,6733,205.70,117.11,1384978.10,788501.63,596476.47\r\nEurope,Finland,Personal Care,Online,L,11/13/2010,409774005,11/27/2010,89,81.73,56.67,7273.97,5043.63,2230.34\r\nSub-Saharan Africa,Sudan,Office Supplies,Online,H,3/9/2016,800084340,4/21/2016,1591,651.21,524.96,1036075.11,835211.36,200863.75\r\nEurope,Croatia,Snacks,Offline,M,8/19/2013,637521445,9/12/2013,5618,152.58,97.44,857194.44,547417.92,309776.52\r\nSub-Saharan Africa,Mauritania,Beverages,Online,L,4/19/2011,186196649,5/28/2011,8581,47.45,31.79,407168.45,272789.99,134378.46\r\nAustralia and Oceania,New Zealand,Baby Food,Offline,L,7/20/2014,680533778,7/25/2014,3923,255.28,159.42,1001463.44,625404.66,376058.78\r\nMiddle East and North Africa,Pakistan,Beverages,Online,L,9/8/2014,275269162,9/15/2014,7117,47.45,31.79,337701.65,226249.43,111452.22\r\nEurope,Poland,Household,Online,C,6/4/2015,795451629,6/19/2015,668,668.27,502.54,446404.36,335696.72,110707.64\r\nEurope,Lithuania,Cereal,Offline,M,12/19/2013,986442506,1/1/2014,9113,205.70,117.11,1874544.10,1067223.43,807320.67\r\nMiddle East and North Africa,Pakistan,Cereal,Offline,M,5/18/2012,563915622,6/10/2012,4019,205.70,117.11,826708.30,470665.09,356043.21\r\nAustralia and Oceania,East Timor,Cosmetics,Offline,C,10/12/2013,663857305,11/13/2013,8984,437.20,263.33,3927804.80,2365756.72,1562048.08\r\nAustralia and Oceania,Marshall Islands,Fruits,Online,L,1/2/2011,692566382,1/14/2011,4638,9.33,6.92,43272.54,32094.96,11177.58\r\nCentral America and the Caribbean,Cuba,Household,Offline,L,2/2/2013,576654183,2/3/2013,3642,668.27,502.54,2433839.34,1830250.68,603588.66\r\nNorth America,Greenland,Baby Food,Offline,H,3/19/2011,313044536,4/14/2011,5689,255.28,159.42,1452287.92,906940.38,545347.54\r\nEurope,Luxembourg,Personal Care,Offline,C,10/3/2012,418973767,10/27/2012,2503,81.73,56.67,204570.19,141845.01,62725.18\r\nMiddle East and North Africa,Israel,Beverages,Online,C,10/23/2014,581990706,11/15/2014,2838,47.45,31.79,134663.10,90220.02,44443.08\r\nSub-Saharan Africa,Djibouti,Baby Food,Online,H,7/12/2015,109956681,7/24/2015,7480,255.28,159.42,1909494.40,1192461.60,717032.80\r\nEurope,Bulgaria,Cereal,Online,L,5/6/2010,181045520,5/27/2010,4247,205.70,117.11,873607.90,497366.17,376241.73\r\nAsia,Mongolia,Vegetables,Online,C,11/27/2010,693743550,1/9/2011,2988,154.06,90.93,460331.28,271698.84,188632.44\r\nCentral America and the Caribbean,Dominican Republic,Clothes,Offline,L,12/26/2010,716849601,12/31/2010,582,109.28,35.84,63600.96,20858.88,42742.08\r\nMiddle East and North Africa,Yemen,Cosmetics,Online,L,12/30/2012,739474999,1/1/2013,5940,437.20,263.33,2596968.00,1564180.20,1032787.80\r\nAustralia and Oceania,Federated States of Micronesia,Personal Care,Online,M,8/21/2016,421043574,9/7/2016,5005,81.73,56.67,409058.65,283633.35,125425.30\r\nEurope,Finland,Personal Care,Online,M,2/3/2015,841291654,3/20/2015,5751,81.73,56.67,470029.23,325909.17,144120.06\r\nCentral America and the Caribbean,The Bahamas,Cereal,Offline,L,12/19/2013,450268065,1/4/2014,3181,205.70,117.11,654331.70,372526.91,281804.79\r\nCentral America and the Caribbean,Grenada,Meat,Online,L,5/12/2012,918334138,6/12/2012,4334,421.89,364.69,1828471.26,1580566.46,247904.80\r\nSub-Saharan Africa,Sao Tome and Principe,Meat,Offline,M,3/28/2014,386163699,4/19/2014,3275,421.89,364.69,1381689.75,1194359.75,187330.00\r\nCentral America and the Caribbean,El Salvador,Personal Care,Offline,C,1/11/2017,214743077,2/18/2017,6103,81.73,56.67,498798.19,345857.01,152941.18\r\nEurope,Sweden,Baby Food,Online,M,6/21/2015,935371100,7/6/2015,5949,255.28,159.42,1518660.72,948389.58,570271.14\r\nAsia,Turkmenistan,Cosmetics,Offline,H,11/29/2012,899659097,12/3/2012,7974,437.20,263.33,3486232.80,2099793.42,1386439.38\r\nEurope,Monaco,Vegetables,Online,H,1/1/2010,329530894,2/13/2010,4369,154.06,90.93,673088.14,397273.17,275814.97\r\nMiddle East and North Africa,Turkey,Meat,Online,H,1/6/2016,867222821,2/6/2016,9359,421.89,364.69,3948468.51,3413133.71,535334.80\r\nSub-Saharan Africa,Mozambique,Beverages,Online,M,10/14/2014,625283706,10/23/2014,4199,47.45,31.79,199242.55,133486.21,65756.34\r\nMiddle East and North Africa,Yemen,Office Supplies,Offline,C,12/9/2013,936574876,1/9/2014,2173,651.21,524.96,1415079.33,1140738.08,274341.25\r\nAsia,Philippines,Cereal,Offline,M,10/19/2010,504270160,11/25/2010,3601,205.70,117.11,740725.70,421713.11,319012.59\r\nSub-Saharan Africa,Democratic Republic of the Congo,Personal Care,Offline,M,5/2/2011,351855885,6/2/2011,830,81.73,56.67,67835.90,47036.10,20799.80\r\nAustralia and Oceania,Fiji,Snacks,Online,H,3/17/2011,673130881,3/23/2011,3241,152.58,97.44,494511.78,315803.04,178708.74\r\nEurope,Macedonia,Office Supplies,Offline,H,9/24/2014,382206475,10/13/2014,2244,651.21,524.96,1461315.24,1178010.24,283305.00\r\nMiddle East and North Africa,Tunisia ,Cereal,Online,H,12/1/2015,263506495,12/14/2015,6283,205.70,117.11,1292413.10,735802.13,556610.97\r\nEurope,Liechtenstein,Cereal,Offline,L,6/2/2017,721767270,7/18/2017,5829,205.70,117.11,1199025.30,682634.19,516391.11\r\nMiddle East and North Africa,Qatar,Cosmetics,Online,M,8/4/2011,432037627,8/18/2011,8390,437.20,263.33,3668108.00,2209338.70,1458769.30\r\nAustralia and Oceania,Tonga,Meat,Offline,C,7/29/2014,389678895,8/24/2014,3499,421.89,364.69,1476193.11,1276050.31,200142.80\r\nEurope,Belgium,Meat,Online,L,1/26/2017,760364902,2/24/2017,7726,421.89,364.69,3259522.14,2817594.94,441927.20\r\nSub-Saharan Africa,Chad,Fruits,Offline,C,11/5/2010,430081975,12/9/2010,9669,9.33,6.92,90211.77,66909.48,23302.29\r\nAsia,Thailand,Baby Food,Online,H,3/26/2015,155128943,5/5/2015,4957,255.28,159.42,1265422.96,790244.94,475178.02\r\nEurope,Iceland,Clothes,Offline,H,10/7/2012,312117135,10/16/2012,1251,109.28,35.84,136709.28,44835.84,91873.44\r\nCentral America and the Caribbean,Saint Lucia,Meat,Offline,L,7/22/2013,447970378,9/2/2013,3245,421.89,364.69,1369033.05,1183419.05,185614.00\r\nAsia,Japan,Cosmetics,Offline,C,8/16/2013,629925000,8/18/2013,7661,437.20,263.33,3349389.20,2017371.13,1332018.07\r\nAsia,India,Personal Care,Offline,L,11/5/2013,995529830,12/17/2013,8254,81.73,56.67,674599.42,467754.18,206845.24\r\nAustralia and Oceania,Vanuatu,Office Supplies,Online,L,3/1/2016,402646195,3/28/2016,812,651.21,524.96,528782.52,426267.52,102515.00\r\nSub-Saharan Africa,Chad,Meat,Offline,M,3/25/2012,479447925,4/4/2012,8150,421.89,364.69,3438403.50,2972223.50,466180.00\r\nSub-Saharan Africa,Malawi,Cosmetics,Offline,H,6/20/2017,674421346,6/29/2017,5118,437.20,263.33,2237589.60,1347722.94,889866.66\r\nEurope,Finland,Cosmetics,Online,L,4/18/2014,506365287,5/16/2014,3596,437.20,263.33,1572171.20,946934.68,625236.52\r\nMiddle East and North Africa,Turkey,Clothes,Online,C,6/28/2016,914391076,8/4/2016,7494,109.28,35.84,818944.32,268584.96,550359.36\r\nSub-Saharan Africa,South Africa,Meat,Online,L,5/20/2012,207922542,7/1/2012,7755,421.89,364.69,3271756.95,2828170.95,443586.00\r\nEurope,Lithuania,Office Supplies,Offline,M,2/4/2014,816696012,2/16/2014,7353,651.21,524.96,4788347.13,3860030.88,928316.25\r\nEurope,Russia,Beverages,Offline,L,11/15/2015,740760314,11/21/2015,6293,47.45,31.79,298602.85,200054.47,98548.38\r\nCentral America and the Caribbean,The Bahamas,Baby Food,Online,C,1/11/2013,300476777,2/28/2013,6610,255.28,159.42,1687400.80,1053766.20,633634.60\r\nCentral America and the Caribbean,The Bahamas,Snacks,Online,L,4/24/2013,786519229,6/7/2013,7373,152.58,97.44,1124972.34,718425.12,406547.22\r\nMiddle East and North Africa,Turkey,Cosmetics,Offline,C,5/15/2010,409873998,6/3/2010,9679,437.20,263.33,4231658.80,2548771.07,1682887.73\r\nSub-Saharan Africa,Mauritius ,Cosmetics,Offline,H,4/17/2010,151839911,5/22/2010,1659,437.20,263.33,725314.80,436864.47,288450.33\r\nEurope,Bulgaria,Vegetables,Online,H,8/25/2012,614028298,9/9/2012,3473,154.06,90.93,535050.38,315799.89,219250.49\r\nMiddle East and North Africa,Iran,Household,Offline,L,4/19/2014,668362987,5/13/2014,2315,668.27,502.54,1547045.05,1163380.10,383664.95\r\nSub-Saharan Africa,Ghana,Household,Online,M,2/26/2013,607080304,4/5/2013,7408,668.27,502.54,4950544.16,3722816.32,1227727.84\r\nSub-Saharan Africa,Malawi,Baby Food,Online,M,12/28/2011,792729079,1/17/2012,5006,255.28,159.42,1277931.68,798056.52,479875.16\r\nSub-Saharan Africa,Zimbabwe,Baby Food,Offline,M,8/21/2014,308170640,10/10/2014,3395,255.28,159.42,866675.60,541230.90,325444.70\r\nAsia,Tajikistan,Vegetables,Online,H,8/21/2014,106578814,10/2/2014,7894,154.06,90.93,1216149.64,717801.42,498348.22\r\nEurope,Czech Republic,Cereal,Online,H,3/2/2014,761439931,3/28/2014,5851,205.70,117.11,1203550.70,685210.61,518340.09\r\nSub-Saharan Africa,Mauritius ,Household,Online,L,9/6/2012,216552817,9/27/2012,1646,668.27,502.54,1099972.42,827180.84,272791.58\r\nSub-Saharan Africa,Lesotho,Fruits,Online,H,9/16/2010,536028802,9/22/2010,1689,9.33,6.92,15758.37,11687.88,4070.49\r\nSub-Saharan Africa,Mali,Beverages,Online,L,8/13/2013,254291713,8/15/2013,9424,47.45,31.79,447168.80,299588.96,147579.84\r\nEurope,Georgia,Personal Care,Online,C,9/11/2012,226077878,10/23/2012,323,81.73,56.67,26398.79,18304.41,8094.38\r\nEurope,Albania,Office Supplies,Offline,M,8/31/2011,476436126,10/15/2011,6892,651.21,524.96,4488139.32,3618024.32,870115.00\r\nEurope,Cyprus,Cosmetics,Offline,L,4/21/2015,650727784,6/6/2015,3667,437.20,263.33,1603212.40,965631.11,637581.29\r\nCentral America and the Caribbean,Saint Kitts and Nevis ,Household,Offline,C,7/11/2010,464626681,7/27/2010,2215,668.27,502.54,1480218.05,1113126.10,367091.95\r\nMiddle East and North Africa,Tunisia ,Meat,Offline,C,8/9/2015,154119145,9/21/2015,6135,421.89,364.69,2588295.15,2237373.15,350922.00\r\nCentral America and the Caribbean,Cuba,Meat,Online,M,10/17/2015,925504004,12/6/2015,6057,421.89,364.69,2555387.73,2208927.33,346460.40\r\nAustralia and Oceania,Kiribati,Cereal,Offline,L,7/24/2012,905392587,8/16/2012,4641,205.70,117.11,954653.70,543507.51,411146.19\r\nAsia,Cambodia,Snacks,Online,C,3/25/2012,990708720,5/4/2012,1581,152.58,97.44,241228.98,154052.64,87176.34\r\nEurope,Moldova ,Baby Food,Online,M,8/11/2014,798688733,9/18/2014,8600,255.28,159.42,2195408.00,1371012.00,824396.00\r\nAsia,Uzbekistan,Cereal,Offline,C,10/15/2016,916881453,11/28/2016,4452,205.70,117.11,915776.40,521373.72,394402.68\r\nAsia,India,Cosmetics,Offline,L,12/3/2016,653148210,1/21/2017,9924,437.20,263.33,4338772.80,2613286.92,1725485.88\r\nEurope,Germany,Personal Care,Offline,C,6/12/2010,285662829,7/13/2010,2834,81.73,56.67,231622.82,160602.78,71020.04\r\nEurope,Austria,Vegetables,Online,C,7/29/2016,612911641,8/31/2016,3030,154.06,90.93,466801.80,275517.90,191283.90\r\nEurope,Germany,Office Supplies,Offline,L,12/9/2013,703693473,1/12/2014,7391,651.21,524.96,4813093.11,3879979.36,933113.75\r\nAsia,Bhutan,Clothes,Online,M,7/12/2012,147119653,8/9/2012,4829,109.28,35.84,527713.12,173071.36,354641.76\r\nAsia,Kyrgyzstan,Fruits,Online,C,1/14/2012,402614009,3/2/2012,1287,9.33,6.92,12007.71,8906.04,3101.67\r\nMiddle East and North Africa,Somalia,Personal Care,Online,C,3/20/2013,749912869,4/25/2013,4738,81.73,56.67,387236.74,268502.46,118734.28\r\nCentral America and the Caribbean,Saint Lucia,Household,Online,H,2/10/2014,539065062,3/10/2014,186,668.27,502.54,124298.22,93472.44,30825.78\r\nEurope,Armenia,Snacks,Offline,H,10/26/2013,540431916,11/15/2013,4668,152.58,97.44,712243.44,454849.92,257393.52\r\nNorth America,Canada,Beverages,Online,C,4/16/2016,694687259,6/2/2016,2252,47.45,31.79,106857.40,71591.08,35266.32\r\nSub-Saharan Africa,Burundi,Cosmetics,Offline,H,5/27/2011,562817418,6/2/2011,9036,437.20,263.33,3950539.20,2379449.88,1571089.32\r\nEurope,Liechtenstein,Cereal,Online,L,8/4/2016,676121222,9/9/2016,8149,205.70,117.11,1676249.30,954329.39,721919.91\r\nMiddle East and North Africa,Tunisia ,Snacks,Offline,L,7/3/2012,286210000,8/5/2012,4754,152.58,97.44,725365.32,463229.76,262135.56\r\nMiddle East and North Africa,Iraq,Beverages,Online,L,12/4/2014,515007579,1/11/2015,1042,47.45,31.79,49442.90,33125.18,16317.72\r\nAsia,Indonesia,Cosmetics,Offline,C,5/31/2010,304750287,6/1/2010,1237,437.20,263.33,540816.40,325739.21,215077.19\r\nAsia,Kazakhstan,Beverages,Online,H,2/5/2013,467986953,2/17/2013,6594,47.45,31.79,312885.30,209623.26,103262.04\r\nEurope,Denmark,Beverages,Offline,C,6/15/2015,537578904,7/9/2015,399,47.45,31.79,18932.55,12684.21,6248.34\r\nEurope,Luxembourg,Vegetables,Offline,L,10/21/2014,116699969,11/18/2014,2969,154.06,90.93,457404.14,269971.17,187432.97\r\nSub-Saharan Africa,Cape Verde,Snacks,Offline,C,2/13/2017,228836476,3/13/2017,6653,152.58,97.44,1015114.74,648268.32,366846.42\r\nAustralia and Oceania,Palau,Vegetables,Offline,C,6/29/2010,167787253,7/16/2010,832,154.06,90.93,128177.92,75653.76,52524.16\r\nAustralia and Oceania,Australia,Vegetables,Online,M,5/19/2014,647663629,5/20/2014,6915,154.06,90.93,1065324.90,628780.95,436543.95\r\nCentral America and the Caribbean,Nicaragua,Meat,Offline,L,3/21/2015,652889430,4/15/2015,3346,421.89,364.69,1411643.94,1220252.74,191391.20\r\nAsia,Laos,Office Supplies,Offline,M,8/31/2015,588200986,10/15/2015,598,651.21,524.96,389423.58,313926.08,75497.50\r\nCentral America and the Caribbean,Cuba,Personal Care,Online,L,8/23/2015,928647124,8/30/2015,6176,81.73,56.67,504764.48,349993.92,154770.56\r\nEurope,Moldova ,Cosmetics,Offline,L,2/24/2016,869589173,3/17/2016,9615,437.20,263.33,4203678.00,2531917.95,1671760.05\r\nMiddle East and North Africa,Syria,Household,Online,C,6/17/2015,576700961,7/23/2015,7485,668.27,502.54,5002000.95,3761511.90,1240489.05\r\nCentral America and the Caribbean,The Bahamas,Cereal,Offline,M,11/27/2012,735968816,12/6/2012,8382,205.70,117.11,1724177.40,981616.02,742561.38\r\nEurope,Belarus,Snacks,Offline,M,9/7/2012,303691565,10/19/2012,7938,152.58,97.44,1211180.04,773478.72,437701.32\r\nMiddle East and North Africa,United Arab Emirates,Clothes,Offline,C,6/23/2012,556480538,8/7/2012,3812,109.28,35.84,416575.36,136622.08,279953.28\r\nSub-Saharan Africa,Angola,Beverages,Offline,H,10/23/2014,141259562,11/11/2014,698,47.45,31.79,33120.10,22189.42,10930.68\r\nCentral America and the Caribbean,Cuba,Cosmetics,Offline,C,9/18/2015,925264966,10/18/2015,5320,437.20,263.33,2325904.00,1400915.60,924988.40\r\nEurope,Ukraine,Office Supplies,Online,H,1/24/2016,346045577,2/20/2016,1431,651.21,524.96,931881.51,751217.76,180663.75\r\nSub-Saharan Africa,Mozambique,Fruits,Offline,H,3/23/2010,861462724,4/19/2010,4818,9.33,6.92,44951.94,33340.56,11611.38\r\nEurope,Armenia,Personal Care,Online,M,7/26/2012,499690234,8/28/2012,8299,81.73,56.67,678277.27,470304.33,207972.94\r\nNorth America,Greenland,Clothes,Online,H,10/20/2015,509214437,11/2/2015,6722,109.28,35.84,734580.16,240916.48,493663.68\r\nCentral America and the Caribbean,Saint Kitts and Nevis ,Office Supplies,Online,M,6/27/2017,408834159,7/18/2017,1968,651.21,524.96,1281581.28,1033121.28,248460.00\r\nEurope,Vatican City,Beverages,Offline,M,4/4/2016,237660729,4/30/2016,7946,47.45,31.79,377037.70,252603.34,124434.36\r\nEurope,Ukraine,Clothes,Online,C,8/5/2015,105117976,9/9/2015,5600,109.28,35.84,611968.00,200704.00,411264.00\r\nSub-Saharan Africa,Niger,Cereal,Offline,L,6/16/2012,640942227,7/4/2012,7903,205.70,117.11,1625647.10,925520.33,700126.77\r\nAsia,Myanmar,Cosmetics,Online,L,4/3/2016,745182311,5/5/2016,4860,437.20,263.33,2124792.00,1279783.80,845008.20\r\nSub-Saharan Africa,Guinea,Baby Food,Offline,C,9/21/2014,738199555,9/21/2014,8508,255.28,159.42,2171922.24,1356345.36,815576.88\r\nSub-Saharan Africa,Guinea-Bissau,Snacks,Online,L,8/8/2015,110667788,9/10/2015,7913,152.58,97.44,1207365.54,771042.72,436322.82\r\nSub-Saharan Africa,South Sudan,Office Supplies,Online,C,7/19/2012,673573338,7/20/2012,4174,651.21,524.96,2718150.54,2191183.04,526967.50\r\nMiddle East and North Africa,Turkey,Snacks,Offline,H,8/26/2011,708215034,9/13/2011,5421,152.58,97.44,827136.18,528222.24,298913.94\r\nAustralia and Oceania,Palau,Household,Online,M,6/23/2012,816204202,7/1/2012,1816,668.27,502.54,1213578.32,912612.64,300965.68\r\nEurope,Poland,Beverages,Offline,L,11/20/2011,769464671,12/24/2011,550,47.45,31.79,26097.50,17484.50,8613.00\r\nAsia,Malaysia,Beverages,Offline,L,5/13/2015,860232770,6/4/2015,848,47.45,31.79,40237.60,26957.92,13279.68\r\nNorth America,United States of America,Personal Care,Offline,C,7/16/2010,551057326,8/22/2010,8963,81.73,56.67,732545.99,507933.21,224612.78\r\nEurope,Switzerland,Cosmetics,Online,C,5/21/2016,724799668,5/27/2016,3183,437.20,263.33,1391607.60,838179.39,553428.21\r\nAustralia and Oceania,Papua New Guinea,Cosmetics,Offline,H,4/22/2011,534633624,6/8/2011,8825,437.20,263.33,3858290.00,2323887.25,1534402.75\r\nSub-Saharan Africa,Namibia,Beverages,Offline,H,8/14/2012,554045522,9/20/2012,3237,47.45,31.79,153595.65,102904.23,50691.42\r\nEurope,Ireland,Clothes,Online,C,3/17/2012,526834189,5/2/2012,799,109.28,35.84,87314.72,28636.16,58678.56\r\nSub-Saharan Africa,Mozambique,Household,Online,C,8/6/2010,717110955,8/9/2010,7922,668.27,502.54,5294034.94,3981121.88,1312913.06\r\nSub-Saharan Africa,Democratic Republic of the Congo,Baby Food,Offline,L,2/25/2013,559299647,3/26/2013,8049,255.28,159.42,2054748.72,1283171.58,771577.14\r\nNorth America,United States of America,Meat,Online,M,3/6/2011,908136594,3/10/2011,6654,421.89,364.69,2807256.06,2426647.26,380608.80\r\nMiddle East and North Africa,Azerbaijan,Office Supplies,Offline,M,12/14/2015,888670623,12/16/2015,6240,651.21,524.96,4063550.40,3275750.40,787800.00\r\nEurope,Belgium,Office Supplies,Offline,C,2/10/2017,146263062,2/16/2017,1345,651.21,524.96,875877.45,706071.20,169806.25\r\nAsia,Taiwan,Office Supplies,Offline,L,9/20/2016,196587741,10/28/2016,3536,651.21,524.96,2302678.56,1856258.56,446420.00\r\nCentral America and the Caribbean,Panama,Baby Food,Online,M,4/30/2010,375630986,6/2/2010,6411,255.28,159.42,1636600.08,1022041.62,614558.46\r\nEurope,Andorra,Beverages,Offline,H,6/25/2013,989691627,7/10/2013,600,47.45,31.79,28470.00,19074.00,9396.00\r\nEurope,Georgia,Household,Offline,H,7/4/2012,165380990,7/27/2012,8765,668.27,502.54,5857386.55,4404763.10,1452623.45\r\nCentral America and the Caribbean,Barbados,Snacks,Online,C,9/21/2013,599622905,10/22/2013,597,152.58,97.44,91090.26,58171.68,32918.58\r\nEurope,Sweden,Personal Care,Offline,C,12/8/2016,109653699,1/6/2017,7821,81.73,56.67,639210.33,443216.07,195994.26\r\nMiddle East and North Africa,Algeria,Meat,Offline,M,9/2/2011,183022201,10/15/2011,9191,421.89,364.69,3877590.99,3351865.79,525725.20\r\nEurope,Italy,Personal Care,Online,L,3/21/2011,127589738,4/2/2011,5494,81.73,56.67,449024.62,311344.98,137679.64\r\nEurope,Russia,Fruits,Offline,L,1/8/2011,221530139,1/26/2011,4546,9.33,6.92,42414.18,31458.32,10955.86\r\nCentral America and the Caribbean,Antigua and Barbuda ,Office Supplies,Offline,M,2/22/2015,363329732,2/22/2015,6197,651.21,524.96,4035548.37,3253177.12,782371.25\r\nMiddle East and North Africa,Jordan,Fruits,Online,C,5/15/2017,521787345,6/25/2017,7325,9.33,6.92,68342.25,50689.00,17653.25\r\nSub-Saharan Africa,Mali,Meat,Online,L,7/14/2012,286014306,8/15/2012,6844,421.89,364.69,2887415.16,2495938.36,391476.80\r\nMiddle East and North Africa,Somalia,Cereal,Offline,C,6/25/2015,215434443,6/30/2015,694,205.70,117.11,142755.80,81274.34,61481.46\r\nMiddle East and North Africa,Kuwait,Snacks,Online,L,10/26/2011,489784085,11/1/2011,6850,152.58,97.44,1045173.00,667464.00,377709.00\r\nSub-Saharan Africa,Liberia,Office Supplies,Offline,C,9/24/2014,459112060,10/12/2014,316,651.21,524.96,205782.36,165887.36,39895.00\r\nAsia,China,Office Supplies,Online,C,9/30/2015,893779695,11/7/2015,8128,651.21,524.96,5293034.88,4266874.88,1026160.00\r\nEurope,Andorra,Meat,Offline,M,3/31/2011,834460818,3/31/2011,4355,421.89,364.69,1837330.95,1588224.95,249106.00\r\nSub-Saharan Africa,Niger,Beverages,Online,C,10/25/2013,742141759,10/28/2013,5093,47.45,31.79,241662.85,161906.47,79756.38\r\nEurope,Hungary,Vegetables,Offline,M,8/12/2010,248121345,9/14/2010,3475,154.06,90.93,535358.50,315981.75,219376.75\r\nEurope,Monaco,Clothes,Offline,M,7/26/2012,404010903,9/4/2012,4659,109.28,35.84,509135.52,166978.56,342156.96\r\nAustralia and Oceania,Tuvalu,Household,Online,L,9/30/2012,531734263,10/12/2012,840,668.27,502.54,561346.80,422133.60,139213.20\r\nSub-Saharan Africa,South Sudan,Baby Food,Online,C,11/9/2012,473527753,12/29/2012,6240,255.28,159.42,1592947.20,994780.80,598166.40\r\nEurope,Cyprus,Cereal,Offline,M,11/19/2011,141940200,1/2/2012,2114,205.70,117.11,434849.80,247570.54,187279.26\r\nEurope,Poland,Household,Offline,M,6/9/2017,869832932,7/25/2017,1749,668.27,502.54,1168804.23,878942.46,289861.77\r\nSub-Saharan Africa,Liberia,Snacks,Online,H,9/17/2011,460379779,11/4/2011,5462,152.58,97.44,833391.96,532217.28,301174.68\r\nSub-Saharan Africa,Cote d'Ivoire,Vegetables,Online,C,10/23/2015,837067067,10/26/2015,5602,154.06,90.93,863044.12,509389.86,353654.26\r\nAsia,Kyrgyzstan,Beverages,Online,C,4/3/2010,393693625,4/9/2010,1547,47.45,31.79,73405.15,49179.13,24226.02\r\nEurope,Slovakia,Vegetables,Offline,L,7/3/2014,744370782,7/14/2014,4711,154.06,90.93,725776.66,428371.23,297405.43\r\nAsia,Malaysia,Cosmetics,Offline,M,12/30/2014,873522365,1/13/2015,3534,437.20,263.33,1545064.80,930608.22,614456.58\r\nSub-Saharan Africa,Liberia,Beverages,Online,L,5/19/2014,285884702,6/10/2014,8491,47.45,31.79,402897.95,269928.89,132969.06\r\nAustralia and Oceania,Vanuatu,Cosmetics,Online,H,8/4/2012,356506621,9/3/2012,7086,437.20,263.33,3097999.20,1865956.38,1232042.82\r\nAustralia and Oceania,Kiribati,Baby Food,Offline,L,8/15/2010,280749452,10/1/2010,8856,255.28,159.42,2260759.68,1411823.52,848936.16\r\nMiddle East and North Africa,Turkey,Baby Food,Online,M,4/26/2014,224287021,5/17/2014,368,255.28,159.42,93943.04,58666.56,35276.48\r\nEurope,San Marino,Fruits,Offline,M,6/10/2015,873105657,6/23/2015,221,9.33,6.92,2061.93,1529.32,532.61\r\nEurope,Vatican City,Snacks,Offline,C,8/12/2010,283504188,9/2/2010,4044,152.58,97.44,617033.52,394047.36,222986.16\r\nMiddle East and North Africa,Morocco,Beverages,Offline,C,8/28/2012,632093942,9/5/2012,9499,47.45,31.79,450727.55,301973.21,148754.34\r\nSub-Saharan Africa,Equatorial Guinea,Meat,Offline,L,7/15/2016,565798747,8/9/2016,1277,421.89,364.69,538753.53,465709.13,73044.40\r\nMiddle East and North Africa,Jordan,Vegetables,Online,M,9/14/2010,151854932,10/19/2010,6104,154.06,90.93,940382.24,555036.72,385345.52\r\nAsia,Kyrgyzstan,Vegetables,Online,H,3/7/2011,427811324,4/16/2011,7733,154.06,90.93,1191345.98,703161.69,488184.29\r\nSub-Saharan Africa,Republic of the Congo,Fruits,Online,L,4/30/2012,251529252,5/5/2012,1950,9.33,6.92,18193.50,13494.00,4699.50\r\nAustralia and Oceania,East Timor,Snacks,Offline,C,5/18/2013,351182544,6/22/2013,1574,152.58,97.44,240160.92,153370.56,86790.36\r\nEurope,Estonia,Meat,Offline,H,8/10/2014,175257527,9/25/2014,1452,421.89,364.69,612584.28,529529.88,83054.40\r\nAsia,Bangladesh,Snacks,Online,H,7/31/2013,142553031,9/11/2013,3465,152.58,97.44,528689.70,337629.60,191060.10\r\nSub-Saharan Africa,Senegal,Fruits,Offline,H,7/2/2016,292180383,8/15/2016,1523,9.33,6.92,14209.59,10539.16,3670.43\r\nMiddle East and North Africa,Pakistan,Fruits,Offline,L,9/13/2011,733563411,9/20/2011,6569,9.33,6.92,61288.77,45457.48,15831.29\r\nEurope,Czech Republic,Beverages,Online,H,4/18/2011,296438443,4/19/2011,1578,47.45,31.79,74876.10,50164.62,24711.48\r\nSub-Saharan Africa,Ghana,Meat,Offline,C,2/9/2017,580854308,3/18/2017,6552,421.89,364.69,2764223.28,2389448.88,374774.40\r\nAsia,Japan,Cosmetics,Offline,H,11/20/2016,107172334,12/23/2016,3530,437.20,263.33,1543316.00,929554.90,613761.10\r\nAsia,Kazakhstan,Baby Food,Offline,H,10/16/2010,166066348,12/5/2010,1578,255.28,159.42,402831.84,251564.76,151267.08\r\nCentral America and the Caribbean,The Bahamas,Snacks,Offline,H,3/15/2015,768522679,3/27/2015,1794,152.58,97.44,273728.52,174807.36,98921.16\r\nSub-Saharan Africa,Ethiopia,Household,Online,M,6/25/2013,195840156,7/25/2013,2309,668.27,502.54,1543035.43,1160364.86,382670.57\r\nSub-Saharan Africa,Burkina Faso,Cosmetics,Offline,L,10/11/2012,849630105,11/9/2012,3284,437.20,263.33,1435764.80,864775.72,570989.08\r\nSub-Saharan Africa,Madagascar,Fruits,Offline,M,7/8/2017,701816356,7/30/2017,1910,9.33,6.92,17820.30,13217.20,4603.10\r\nEurope,Netherlands,Office Supplies,Online,M,6/22/2010,944635236,7/27/2010,7413,651.21,524.96,4827419.73,3891528.48,935891.25\r\nEurope,Greece,Vegetables,Online,L,2/17/2017,140635573,3/21/2017,6046,154.06,90.93,931446.76,549762.78,381683.98\r\nMiddle East and North Africa,Egypt,Meat,Online,C,1/14/2011,972678697,2/25/2011,6096,421.89,364.69,2571841.44,2223150.24,348691.20\r\nSub-Saharan Africa,South Sudan,Fruits,Online,M,1/9/2016,793938434,2/8/2016,2880,9.33,6.92,26870.40,19929.60,6940.80\r\nEurope,Kosovo,Baby Food,Online,L,7/18/2011,177901113,8/13/2011,3747,255.28,159.42,956534.16,597346.74,359187.42\r\nAsia,Brunei,Beverages,Online,L,3/16/2012,668365561,5/4/2012,3077,47.45,31.79,146003.65,97817.83,48185.82\r\nAustralia and Oceania,Australia,Vegetables,Online,C,12/15/2010,729443109,1/12/2011,7281,154.06,90.93,1121710.86,662061.33,459649.53\r\nSub-Saharan Africa,Cape Verde,Fruits,Offline,H,3/2/2013,695557582,4/3/2013,9800,9.33,6.92,91434.00,67816.00,23618.00\r\nSub-Saharan Africa,Malawi,Household,Offline,H,2/17/2010,521445310,4/4/2010,6110,668.27,502.54,4083129.70,3070519.40,1012610.30\r\nAsia,Philippines,Personal Care,Online,L,2/19/2013,232155120,3/30/2013,8714,81.73,56.67,712195.22,493822.38,218372.84\r\nEurope,Estonia,Beverages,Online,L,10/28/2011,373048341,12/12/2011,2149,47.45,31.79,101970.05,68316.71,33653.34\r\nCentral America and the Caribbean,Trinidad and Tobago,Office Supplies,Offline,L,10/26/2015,659798800,12/2/2015,7982,651.21,524.96,5197958.22,4190230.72,1007727.50\r\nAsia,Mongolia,Household,Online,C,2/5/2013,428392827,2/5/2013,9812,668.27,502.54,6557065.24,4930922.48,1626142.76\r\nAsia,Japan,Personal Care,Offline,M,8/25/2011,885129249,9/3/2011,8269,81.73,56.67,675825.37,468604.23,207221.14\r\nSub-Saharan Africa,Niger,Meat,Online,C,12/4/2012,156619393,12/5/2012,6014,421.89,364.69,2537246.46,2193245.66,344000.80\r\nMiddle East and North Africa,Egypt,Baby Food,Offline,M,9/8/2015,939787089,9/9/2015,2739,255.28,159.42,699211.92,436651.38,262560.54\r\nCentral America and the Caribbean,Saint Lucia,Vegetables,Online,C,3/1/2012,151868665,4/19/2012,168,154.06,90.93,25882.08,15276.24,10605.84\r\nMiddle East and North Africa,Qatar,Cereal,Offline,C,8/5/2014,180412948,8/24/2014,7055,205.70,117.11,1451213.50,826211.05,625002.45\r\nSub-Saharan Africa,Mali,Fruits,Offline,H,7/24/2013,333281266,7/28/2013,4188,9.33,6.92,39074.04,28980.96,10093.08\r\nCentral America and the Caribbean,Saint Lucia,Cosmetics,Online,L,1/26/2012,888647449,2/28/2012,9383,437.20,263.33,4102247.60,2470825.39,1631422.21\r\nSub-Saharan Africa,Swaziland,Clothes,Offline,M,3/10/2014,844997823,4/26/2014,2488,109.28,35.84,271888.64,89169.92,182718.72\r\nAsia,Mongolia,Fruits,Online,M,9/12/2013,171131217,10/8/2013,385,9.33,6.92,3592.05,2664.20,927.85\r\nSub-Saharan Africa,Botswana,Office Supplies,Online,C,1/5/2013,256158959,1/18/2013,1983,651.21,524.96,1291349.43,1040995.68,250353.75\r\nEurope,San Marino,Cosmetics,Online,H,10/28/2011,759504878,12/8/2011,3226,437.20,263.33,1410407.20,849502.58,560904.62\r\nMiddle East and North Africa,Oman,Fruits,Online,C,11/21/2010,960905301,11/25/2010,2087,9.33,6.92,19471.71,14442.04,5029.67\r\nAsia,Bangladesh,Office Supplies,Offline,C,10/28/2015,210409057,12/4/2015,3570,651.21,524.96,2324819.70,1874107.20,450712.50\r\nSub-Saharan Africa,Namibia,Cosmetics,Offline,C,7/29/2010,178377473,9/1/2010,4713,437.20,263.33,2060523.60,1241074.29,819449.31\r\nAsia,Mongolia,Fruits,Online,M,3/30/2014,805484378,5/1/2014,9582,9.33,6.92,89400.06,66307.44,23092.62\r\nAsia,North Korea,Beverages,Online,C,9/14/2016,752716100,10/12/2016,4276,47.45,31.79,202896.20,135934.04,66962.16\r\nEurope,Latvia,Clothes,Online,M,9/6/2012,551371467,9/15/2012,1925,109.28,35.84,210364.00,68992.00,141372.00\r\nSub-Saharan Africa,Burundi,Snacks,Offline,M,2/8/2013,353061807,3/5/2013,7689,152.58,97.44,1173187.62,749216.16,423971.46\r\nSub-Saharan Africa,Seychelles ,Personal Care,Online,C,1/17/2011,379710948,1/30/2011,3762,81.73,56.67,307468.26,213192.54,94275.72\r\nSub-Saharan Africa,Kenya,Cereal,Online,H,10/11/2015,473555219,11/6/2015,4368,205.70,117.11,898497.60,511536.48,386961.12\r\nSub-Saharan Africa,Benin,Office Supplies,Online,C,2/21/2011,547143447,2/23/2011,760,651.21,524.96,494919.60,398969.60,95950.00\r\nCentral America and the Caribbean,Saint Lucia,Personal Care,Online,C,4/29/2012,133336961,6/13/2012,6225,81.73,56.67,508769.25,352770.75,155998.50\r\nMiddle East and North Africa,Qatar,Meat,Online,H,8/30/2016,635309588,10/14/2016,1080,421.89,364.69,455641.20,393865.20,61776.00\r\nSub-Saharan Africa,Mozambique,Beverages,Online,C,12/20/2014,376547658,12/26/2014,7675,47.45,31.79,364178.75,243988.25,120190.50\r\nMiddle East and North Africa,Pakistan,Clothes,Offline,M,6/28/2010,450849997,7/21/2010,5388,109.28,35.84,588800.64,193105.92,395694.72\r\nAsia,Taiwan,Personal Care,Online,M,2/6/2015,672327935,2/6/2015,5631,81.73,56.67,460221.63,319108.77,141112.86\r\nCentral America and the Caribbean,Cuba,Cereal,Offline,L,3/30/2015,925405299,5/1/2015,6847,205.70,117.11,1408427.90,801852.17,606575.73\r\nCentral America and the Caribbean,Cuba,Household,Offline,H,7/28/2013,714818418,8/24/2013,9509,668.27,502.54,6354579.43,4778652.86,1575926.57\r\nEurope,Russia,Beverages,Offline,C,1/6/2010,515616118,2/5/2010,1122,47.45,31.79,53238.90,35668.38,17570.52\r\nEurope,Switzerland,Cereal,Offline,C,2/20/2013,423159730,4/11/2013,1222,205.70,117.11,251365.40,143108.42,108256.98\r\nEurope,Czech Republic,Personal Care,Offline,H,8/25/2013,603123080,9/29/2013,6377,81.73,56.67,521192.21,361384.59,159807.62\r\nEurope,Poland,Meat,Offline,C,11/16/2010,841492497,12/31/2010,5185,421.89,364.69,2187499.65,1890917.65,296582.00\r\nSub-Saharan Africa,Mauritius ,Cereal,Offline,L,8/2/2016,994566810,9/1/2016,3275,205.70,117.11,673667.50,383535.25,290132.25\r\nMiddle East and North Africa,Pakistan,Vegetables,Offline,M,4/25/2013,538957345,4/25/2013,8310,154.06,90.93,1280238.60,755628.30,524610.30\r\nSub-Saharan Africa,South Africa,Fruits,Offline,L,3/2/2011,821587932,3/11/2011,4981,9.33,6.92,46472.73,34468.52,12004.21\r\nSub-Saharan Africa,Seychelles ,Household,Online,C,9/28/2013,109694898,10/16/2013,13,668.27,502.54,8687.51,6533.02,2154.49\r\nSub-Saharan Africa,Benin,Meat,Offline,M,5/5/2014,340827071,6/5/2014,7159,421.89,364.69,3020310.51,2610815.71,409494.80\r\nSub-Saharan Africa,Benin,Meat,Offline,L,11/28/2014,372845780,12/9/2014,2207,421.89,364.69,931111.23,804870.83,126240.40\r\nCentral America and the Caribbean,Nicaragua,Fruits,Online,M,8/30/2014,933924853,9/13/2014,7973,9.33,6.92,74388.09,55173.16,19214.93\r\nMiddle East and North Africa,Lebanon,Office Supplies,Online,L,11/20/2013,572550618,11/25/2013,9306,651.21,524.96,6060160.26,4885277.76,1174882.50\r\nEurope,Moldova ,Meat,Online,M,2/23/2010,607521903,4/5/2010,8086,421.89,364.69,3411402.54,2948883.34,462519.20\r\nMiddle East and North Africa,Tunisia ,Snacks,Online,H,3/20/2017,177950036,4/29/2017,8225,152.58,97.44,1254970.50,801444.00,453526.50\r\nAustralia and Oceania,Vanuatu,Beverages,Offline,M,11/8/2015,293258845,11/14/2015,664,47.45,31.79,31506.80,21108.56,10398.24\r\nSub-Saharan Africa,South Sudan,Beverages,Online,C,8/9/2010,683184659,8/23/2010,8377,47.45,31.79,397488.65,266304.83,131183.82\r\nEurope,Sweden,Cereal,Online,L,11/12/2010,247776305,11/30/2010,1370,205.70,117.11,281809.00,160440.70,121368.30\r\nEurope,Ireland,Meat,Offline,C,12/14/2011,207395112,1/26/2012,1677,421.89,364.69,707509.53,611585.13,95924.40\r\nEurope,Italy,Vegetables,Offline,L,1/10/2014,952714908,2/25/2014,8367,154.06,90.93,1289020.02,760811.31,528208.71\r\nEurope,Bosnia and Herzegovina,Vegetables,Online,C,10/3/2010,694722020,10/3/2010,2539,154.06,90.93,391158.34,230871.27,160287.07\r\nEurope,Bosnia and Herzegovina,Household,Online,H,10/15/2015,414715278,11/4/2015,2321,668.27,502.54,1551054.67,1166395.34,384659.33\r\nEurope,Poland,Snacks,Offline,M,7/20/2013,714306008,8/17/2013,7876,152.58,97.44,1201720.08,767437.44,434282.64\r\nMiddle East and North Africa,Kuwait,Snacks,Online,H,1/19/2016,465418040,2/26/2016,6396,152.58,97.44,975901.68,623226.24,352675.44\r\nSub-Saharan Africa,Sudan,Cereal,Online,M,8/17/2013,860287702,9/11/2013,7103,205.70,117.11,1461087.10,831832.33,629254.77\r\nMiddle East and North Africa,Saudi Arabia,Vegetables,Online,C,8/16/2016,461463820,8/20/2016,6254,154.06,90.93,963491.24,568676.22,394815.02\r\nSub-Saharan Africa,Swaziland,Baby Food,Offline,M,9/25/2013,151807725,9/29/2013,2134,255.28,159.42,544767.52,340202.28,204565.24\r\nSub-Saharan Africa,Rwanda,Meat,Offline,C,8/21/2013,884493243,10/2/2013,61,421.89,364.69,25735.29,22246.09,3489.20\r\nAsia,Cambodia,Cosmetics,Offline,M,12/10/2010,533006703,1/23/2011,7383,437.20,263.33,3227847.60,1944165.39,1283682.21\r\nSub-Saharan Africa,Central African Republic,Vegetables,Online,C,9/4/2012,641146934,10/4/2012,8480,154.06,90.93,1306428.80,771086.40,535342.40\r\nAsia,Maldives,Cosmetics,Offline,M,10/15/2011,573025262,11/14/2011,9764,437.20,263.33,4268820.80,2571154.12,1697666.68\r\nSub-Saharan Africa,Djibouti,Household,Offline,C,8/26/2013,663065516,9/9/2013,4676,668.27,502.54,3124830.52,2349877.04,774953.48\r\nAsia,Tajikistan,Beverages,Online,M,2/17/2017,866004025,3/4/2017,8691,47.45,31.79,412387.95,276286.89,136101.06\r\nAsia,Sri Lanka,Baby Food,Online,H,10/19/2010,306889617,10/21/2010,4312,255.28,159.42,1100767.36,687419.04,413348.32\r\nEurope,Montenegro,Personal Care,Online,M,7/30/2014,431083619,8/10/2014,6077,81.73,56.67,496673.21,344383.59,152289.62\r\nMiddle East and North Africa,United Arab Emirates,Personal Care,Online,H,5/21/2015,954259860,6/4/2015,5553,81.73,56.67,453846.69,314688.51,139158.18\r\nCentral America and the Caribbean,Dominican Republic,Personal Care,Offline,C,5/5/2016,312404668,6/21/2016,6338,81.73,56.67,518004.74,359174.46,158830.28\r\nSub-Saharan Africa,Seychelles ,Office Supplies,Offline,C,4/14/2010,611816871,5/16/2010,9063,651.21,524.96,5901916.23,4757712.48,1144203.75\r\nEurope,Iceland,Office Supplies,Online,C,10/26/2013,879107797,11/2/2013,6388,651.21,524.96,4159929.48,3353444.48,806485.00\r\nSub-Saharan Africa,Nigeria,Vegetables,Offline,C,7/21/2010,211201274,9/9/2010,8005,154.06,90.93,1233250.30,727894.65,505355.65\r\nSub-Saharan Africa,Rwanda,Fruits,Online,H,6/9/2015,925333631,7/25/2015,5639,9.33,6.92,52611.87,39021.88,13589.99\r\nEurope,Hungary,Snacks,Offline,C,6/3/2010,909053695,6/27/2010,8044,152.58,97.44,1227353.52,783807.36,443546.16\r\nEurope,Belarus,Baby Food,Online,L,5/17/2016,370222795,6/11/2016,6007,255.28,159.42,1533466.96,957635.94,575831.02\r\nSub-Saharan Africa,South Sudan,Cosmetics,Offline,H,8/3/2013,487014758,8/30/2013,7344,437.20,263.33,3210796.80,1933895.52,1276901.28\r\nEurope,Andorra,Vegetables,Online,M,9/15/2013,257915914,10/6/2013,1905,154.06,90.93,293484.30,173221.65,120262.65\r\nAsia,Japan,Meat,Offline,M,7/2/2010,551725089,8/10/2010,6569,421.89,364.69,2771395.41,2395648.61,375746.80\r\nCentral America and the Caribbean,El Salvador,Meat,Offline,L,12/18/2013,957553613,1/10/2014,248,421.89,364.69,104628.72,90443.12,14185.60\r\nSub-Saharan Africa,Kenya,Office Supplies,Offline,L,3/19/2016,234825313,3/23/2016,8883,651.21,524.96,5784698.43,4663219.68,1121478.75\r\nEurope,Bosnia and Herzegovina,Snacks,Online,M,6/9/2010,363276517,7/9/2010,449,152.58,97.44,68508.42,43750.56,24757.86\r\nEurope,Andorra,Personal Care,Online,M,5/21/2017,692956054,6/23/2017,9950,81.73,56.67,813213.50,563866.50,249347.00\r\nSub-Saharan Africa,Cape Verde,Cosmetics,Online,H,6/12/2013,194225251,6/19/2013,4423,437.20,263.33,1933735.60,1164708.59,769027.01\r\nAustralia and Oceania,Nauru,Fruits,Online,L,2/22/2010,607757937,4/5/2010,7934,9.33,6.92,74024.22,54903.28,19120.94\r\nEurope,Czech Republic,Cereal,Offline,H,6/29/2012,594540441,7/30/2012,6583,205.70,117.11,1354123.10,770935.13,583187.97\r\nEurope,Serbia,Vegetables,Online,L,3/23/2015,685871589,4/5/2015,3500,154.06,90.93,539210.00,318255.00,220955.00\r\nAustralia and Oceania,Tuvalu,Cereal,Offline,C,2/12/2014,133362710,3/23/2014,3844,205.70,117.11,790710.80,450170.84,340539.96\r\nSub-Saharan Africa,Madagascar,Clothes,Offline,H,5/22/2017,958937633,7/5/2017,9810,109.28,35.84,1072036.80,351590.40,720446.40\r\nSub-Saharan Africa,Ethiopia,Vegetables,Online,C,8/6/2011,304832684,9/6/2011,5620,154.06,90.93,865817.20,511026.60,354790.60\r\nAsia,Malaysia,Baby Food,Offline,L,11/14/2010,783596694,12/24/2010,2530,255.28,159.42,645858.40,403332.60,242525.80\r\nSub-Saharan Africa,Tanzania,Household,Offline,C,4/5/2015,128090989,4/27/2015,3825,668.27,502.54,2556132.75,1922215.50,633917.25\r\nSub-Saharan Africa,Cote d'Ivoire,Vegetables,Offline,M,7/8/2014,641489398,7/28/2014,9823,154.06,90.93,1513331.38,893205.39,620125.99\r\nAustralia and Oceania,Solomon Islands,Clothes,Offline,M,8/9/2014,647278249,9/16/2014,2873,109.28,35.84,313961.44,102968.32,210993.12\r\nEurope,Netherlands,Clothes,Online,H,3/13/2011,339256370,3/31/2011,2354,109.28,35.84,257245.12,84367.36,172877.76\r\nSub-Saharan Africa,Mali,Baby Food,Offline,M,3/2/2016,431535089,3/19/2016,9677,255.28,159.42,2470344.56,1542707.34,927637.22\r\nMiddle East and North Africa,Afghanistan,Cereal,Offline,C,12/19/2015,808538234,1/16/2016,3286,205.70,117.11,675930.20,384823.46,291106.74\r\nEurope,Moldova ,Personal Care,Online,C,3/28/2013,975002133,4/7/2013,3653,81.73,56.67,298559.69,207015.51,91544.18\r\nAsia,Bhutan,Snacks,Online,H,6/27/2015,505975615,7/4/2015,8283,152.58,97.44,1263820.14,807095.52,456724.62\r\nAsia,Vietnam,Vegetables,Offline,M,2/18/2016,396820008,3/20/2016,6714,154.06,90.93,1034358.84,610504.02,423854.82\r\nEurope,Portugal,Vegetables,Online,H,6/14/2013,813209140,7/10/2013,5511,154.06,90.93,849024.66,501115.23,347909.43\r\nEurope,Spain,Baby Food,Online,M,5/10/2014,641129338,5/14/2014,3273,255.28,159.42,835531.44,521781.66,313749.78\r\nMiddle East and North Africa,Egypt,Meat,Offline,C,6/17/2015,636879432,7/3/2015,5632,421.89,364.69,2376084.48,2053934.08,322150.40\r\nEurope,Belgium,Snacks,Online,C,6/11/2014,277070748,7/2/2014,246,152.58,97.44,37534.68,23970.24,13564.44\r\nAsia,Malaysia,Cosmetics,Offline,H,11/3/2013,908627116,11/24/2013,1810,437.20,263.33,791332.00,476627.30,314704.70\r\nCentral America and the Caribbean,Dominican Republic,Cosmetics,Offline,C,4/2/2017,798784863,5/2/2017,7047,437.20,263.33,3080948.40,1855686.51,1225261.89\r\nEurope,Estonia,Beverages,Offline,H,5/28/2010,985092818,7/17/2010,9711,47.45,31.79,460786.95,308712.69,152074.26\r\nSub-Saharan Africa,Burundi,Snacks,Offline,C,5/22/2010,325412309,7/7/2010,5588,152.58,97.44,852617.04,544494.72,308122.32\r\nEurope,Latvia,Beverages,Online,M,6/2/2016,447917163,6/24/2016,7497,47.45,31.79,355732.65,238329.63,117403.02\r\nAsia,Tajikistan,Meat,Offline,M,8/22/2013,801093709,10/5/2013,285,421.89,364.69,120238.65,103936.65,16302.00\r\nSub-Saharan Africa,Zimbabwe,Fruits,Offline,H,10/5/2014,903740775,10/23/2014,5833,9.33,6.92,54421.89,40364.36,14057.53\r\nSub-Saharan Africa,Comoros,Meat,Offline,L,10/31/2010,794969689,11/13/2010,8052,421.89,364.69,3397058.28,2936483.88,460574.40\r\nSub-Saharan Africa,Namibia,Clothes,Online,L,11/27/2012,584204280,1/1/2013,7884,109.28,35.84,861563.52,282562.56,579000.96\r\nEurope,Slovenia,Cereal,Offline,H,5/22/2010,901180875,5/26/2010,8302,205.70,117.11,1707721.40,972247.22,735474.18\r\nEurope,Bulgaria,Snacks,Offline,L,8/31/2012,645948302,9/29/2012,9312,152.58,97.44,1420824.96,907361.28,513463.68\r\nSub-Saharan Africa,Guinea-Bissau,Cereal,Online,L,1/23/2015,138867890,2/22/2015,2950,205.70,117.11,606815.00,345474.50,261340.50\r\nSub-Saharan Africa,Lesotho,Beverages,Offline,L,3/2/2010,670613467,3/21/2010,8282,47.45,31.79,392980.90,263284.78,129696.12\r\nAsia,Sri Lanka,Cosmetics,Offline,L,5/9/2014,452171361,5/27/2014,6409,437.20,263.33,2802014.80,1687681.97,1114332.83\r\nAustralia and Oceania,East Timor,Snacks,Online,H,12/28/2010,464840400,2/5/2011,5459,152.58,97.44,832934.22,531924.96,301009.26\r\nEurope,Belarus,Household,Online,M,10/19/2014,410231912,10/24/2014,5594,668.27,502.54,3738302.38,2811208.76,927093.62\r\nSub-Saharan Africa,Benin,Meat,Offline,H,1/21/2015,960269725,2/22/2015,4006,421.89,364.69,1690091.34,1460948.14,229143.20\r\nEurope,Ireland,Beverages,Offline,L,4/4/2017,607190167,5/18/2017,9919,47.45,31.79,470656.55,315325.01,155331.54\r\nMiddle East and North Africa,Iran,Meat,Offline,H,8/5/2016,613542068,8/11/2016,9587,421.89,364.69,4044659.43,3496283.03,548376.40\r\nSub-Saharan Africa,Benin,Household,Offline,C,11/26/2016,962186753,1/12/2017,1297,668.27,502.54,866746.19,651794.38,214951.81\r\nSub-Saharan Africa,South Sudan,Beverages,Online,L,9/23/2011,806298053,10/24/2011,366,47.45,31.79,17366.70,11635.14,5731.56\r\nSub-Saharan Africa,Comoros,Personal Care,Online,L,10/24/2010,719362294,12/3/2010,4144,81.73,56.67,338689.12,234840.48,103848.64\r\nEurope,Poland,Baby Food,Online,H,8/14/2013,445178306,9/22/2013,7008,255.28,159.42,1789002.24,1117215.36,671786.88\r\nEurope,Bosnia and Herzegovina,Cosmetics,Offline,C,2/4/2013,247857415,2/15/2013,5372,437.20,263.33,2348638.40,1414608.76,934029.64\r\nSub-Saharan Africa,Namibia,Vegetables,Offline,C,8/11/2014,461823451,9/4/2014,2677,154.06,90.93,412418.62,243419.61,168999.01\r\nEurope,Spain,Office Supplies,Offline,C,1/12/2017,141812741,1/24/2017,4396,651.21,524.96,2862719.16,2307724.16,554995.00\r\nMiddle East and North Africa,Iran,Meat,Online,C,7/3/2016,212874114,8/17/2016,3036,421.89,364.69,1280858.04,1107198.84,173659.20\r\nCentral America and the Caribbean,Guatemala,Office Supplies,Offline,C,3/27/2010,320368897,4/2/2010,3131,651.21,524.96,2038938.51,1643649.76,395288.75\r\nAustralia and Oceania,East Timor,Beverages,Online,C,6/5/2015,179970920,6/25/2015,6249,47.45,31.79,296515.05,198655.71,97859.34\r\nMiddle East and North Africa,Bahrain,Household,Online,H,6/27/2012,927666509,7/17/2012,5990,668.27,502.54,4002937.30,3010214.60,992722.70\r\nSub-Saharan Africa,Ethiopia,Office Supplies,Online,L,12/19/2016,169754493,1/20/2017,2982,651.21,524.96,1941908.22,1565430.72,376477.50\r\nAustralia and Oceania,Solomon Islands,Personal Care,Offline,M,3/9/2015,532846200,4/20/2015,9886,81.73,56.67,807982.78,560239.62,247743.16\r\nCentral America and the Caribbean,Belize,Snacks,Online,C,6/18/2013,213865458,7/13/2013,6397,152.58,97.44,976054.26,623323.68,352730.58\r\nAsia,Sri Lanka,Office Supplies,Online,C,8/12/2011,630048596,9/3/2011,4236,651.21,524.96,2758525.56,2223730.56,534795.00\r\nCentral America and the Caribbean,Costa Rica,Clothes,Offline,H,4/17/2014,568944442,4/24/2014,2158,109.28,35.84,235826.24,77342.72,158483.52\r\nSub-Saharan Africa,Nigeria,Baby Food,Online,L,2/3/2012,238414323,2/27/2012,951,255.28,159.42,242771.28,151608.42,91162.86\r\nMiddle East and North Africa,Iran,Office Supplies,Online,L,8/1/2015,816632068,9/19/2015,8431,651.21,524.96,5490351.51,4425937.76,1064413.75\r\nSub-Saharan Africa,Djibouti,Baby Food,Online,C,9/11/2013,402084004,10/5/2013,4447,255.28,159.42,1135230.16,708940.74,426289.42\r\nAsia,South Korea,Snacks,Online,L,5/8/2015,763568961,6/7/2015,5879,152.58,97.44,897017.82,572849.76,324168.06\r\nCentral America and the Caribbean,Dominica,Snacks,Offline,L,5/22/2015,590198266,6/1/2015,1637,152.58,97.44,249773.46,159509.28,90264.18\r\nAsia,Vietnam,Snacks,Online,L,7/3/2013,441395747,8/19/2013,7665,152.58,97.44,1169525.70,746877.60,422648.10\r\nEurope,Norway,Personal Care,Offline,H,6/16/2010,496897733,7/21/2010,1936,81.73,56.67,158229.28,109713.12,48516.16\r\nCentral America and the Caribbean,Haiti,Beverages,Online,C,11/8/2011,106753051,11/14/2011,9455,47.45,31.79,448639.75,300574.45,148065.30\r\nCentral America and the Caribbean,Jamaica,Fruits,Offline,L,10/17/2016,941323029,10/27/2016,7258,9.33,6.92,67717.14,50225.36,17491.78\r\nSub-Saharan Africa,Sudan,Vegetables,Offline,M,2/2/2014,241281497,3/3/2014,9412,154.06,90.93,1450012.72,855833.16,594179.56\r\nSub-Saharan Africa,Angola,Meat,Offline,L,4/30/2016,267614781,5/12/2016,2016,421.89,364.69,850530.24,735215.04,115315.20\r\nCentral America and the Caribbean,Panama,Cosmetics,Offline,M,8/31/2010,651621711,10/16/2010,8200,437.20,263.33,3585040.00,2159306.00,1425734.00\r\nEurope,Greece,Personal Care,Online,M,8/8/2015,644913613,9/7/2015,3124,81.73,56.67,255324.52,177037.08,78287.44\r\nSub-Saharan Africa,Madagascar,Cereal,Offline,H,8/18/2016,469414317,8/19/2016,8983,205.70,117.11,1847803.10,1051999.13,795803.97\r\nSub-Saharan Africa,Guinea-Bissau,Clothes,Online,L,6/18/2015,867360150,7/1/2015,9998,109.28,35.84,1092581.44,358328.32,734253.12\r\nNorth America,Greenland,Clothes,Online,L,1/28/2011,851299941,2/1/2011,7425,109.28,35.84,811404.00,266112.00,545292.00\r\nMiddle East and North Africa,Libya,Beverages,Offline,H,2/4/2011,854095017,3/4/2011,4550,47.45,31.79,215897.50,144644.50,71253.00\r\nEurope,Belarus,Vegetables,Offline,C,11/3/2012,478919208,11/27/2012,1691,154.06,90.93,260515.46,153762.63,106752.83\r\nMiddle East and North Africa,Lebanon,Clothes,Offline,H,9/18/2014,749258840,11/5/2014,1196,109.28,35.84,130698.88,42864.64,87834.24\r\nSub-Saharan Africa,Djibouti,Baby Food,Offline,H,5/17/2012,958912742,6/28/2012,2444,255.28,159.42,623904.32,389622.48,234281.84\r\nCentral America and the Caribbean,Barbados,Personal Care,Online,C,2/20/2010,921992242,3/4/2010,6848,81.73,56.67,559687.04,388076.16,171610.88\r\nSub-Saharan Africa,Guinea-Bissau,Vegetables,Online,L,2/28/2017,522921168,3/2/2017,2849,154.06,90.93,438916.94,259059.57,179857.37\r\nEurope,Finland,Personal Care,Offline,C,5/17/2013,166435849,6/7/2013,921,81.73,56.67,75273.33,52193.07,23080.26\r\nCentral America and the Caribbean,Haiti,Baby Food,Offline,L,11/9/2013,327585113,11/23/2013,8569,255.28,159.42,2187494.32,1366069.98,821424.34\r\nSub-Saharan Africa,Niger,Clothes,Offline,M,1/10/2012,201730287,2/19/2012,5330,109.28,35.84,582462.40,191027.20,391435.20\r\nCentral America and the Caribbean,Trinidad and Tobago,Fruits,Offline,L,9/24/2013,854545199,11/9/2013,7769,9.33,6.92,72484.77,53761.48,18723.29\r\nCentral America and the Caribbean,Grenada,Personal Care,Online,M,9/26/2010,272016179,11/8/2010,4487,81.73,56.67,366722.51,254278.29,112444.22\r\nCentral America and the Caribbean,Dominican Republic,Cereal,Offline,H,10/21/2014,110442054,11/20/2014,1113,205.70,117.11,228944.10,130343.43,98600.67\r\nEurope,Monaco,Household,Offline,C,1/17/2016,746434152,2/5/2016,5308,668.27,502.54,3547177.16,2667482.32,879694.84\r\nEurope,Estonia,Vegetables,Online,L,12/27/2016,826916301,1/7/2017,1764,154.06,90.93,271761.84,160400.52,111361.32\r\nEurope,Italy,Beverages,Offline,H,8/30/2013,419124829,9/19/2013,7206,47.45,31.79,341924.70,229078.74,112845.96\r\nAsia,Malaysia,Office Supplies,Online,C,7/7/2014,560608565,8/24/2014,5387,651.21,524.96,3508068.27,2827959.52,680108.75\r\nSub-Saharan Africa,Ghana,Office Supplies,Offline,L,11/29/2013,109228837,12/7/2013,2095,651.21,524.96,1364284.95,1099791.20,264493.75\r\nMiddle East and North Africa,Pakistan,Clothes,Offline,C,1/29/2011,693159472,2/5/2011,146,109.28,35.84,15954.88,5232.64,10722.24\r\nAsia,Sri Lanka,Snacks,Offline,L,11/13/2013,860886800,11/23/2013,4390,152.58,97.44,669826.20,427761.60,242064.60\r\nEurope,Romania,Fruits,Offline,C,4/9/2012,131209647,5/3/2012,6705,9.33,6.92,62557.65,46398.60,16159.05\r\nMiddle East and North Africa,Qatar,Office Supplies,Online,H,6/28/2012,343239343,7/13/2012,1004,651.21,524.96,653814.84,527059.84,126755.00\r\nSub-Saharan Africa,Cote d'Ivoire,Clothes,Online,H,6/8/2010,706399714,7/19/2010,8228,109.28,35.84,899155.84,294891.52,604264.32\r\nMiddle East and North Africa,Egypt,Office Supplies,Online,M,8/23/2010,950427091,9/14/2010,1352,651.21,524.96,880435.92,709745.92,170690.00\r\nMiddle East and North Africa,Iran,Snacks,Offline,H,12/11/2014,875370299,12/28/2014,379,152.58,97.44,57827.82,36929.76,20898.06\r\nMiddle East and North Africa,Somalia,Clothes,Online,C,1/27/2011,801590669,3/15/2011,7347,109.28,35.84,802880.16,263316.48,539563.68\r\nMiddle East and North Africa,Syria,Personal Care,Offline,C,5/7/2014,219762027,5/28/2014,1322,81.73,56.67,108047.06,74917.74,33129.32\r\nAustralia and Oceania,Solomon Islands,Cereal,Offline,C,11/8/2010,940870702,11/21/2010,3404,205.70,117.11,700202.80,398642.44,301560.36\r\nCentral America and the Caribbean,Guatemala,Fruits,Online,M,3/30/2014,346215522,5/4/2014,1721,9.33,6.92,16056.93,11909.32,4147.61\r\nMiddle East and North Africa,Kuwait,Clothes,Offline,C,7/9/2016,837407815,7/20/2016,6436,109.28,35.84,703326.08,230666.24,472659.84\r\nMiddle East and North Africa,Jordan,Meat,Online,L,7/15/2014,386371409,7/19/2014,4741,421.89,364.69,2000180.49,1728995.29,271185.20\r\nAustralia and Oceania,Marshall Islands,Beverages,Offline,H,10/14/2013,185342633,11/24/2013,5859,47.45,31.79,278009.55,186257.61,91751.94\r\nMiddle East and North Africa,Egypt,Snacks,Offline,C,1/13/2017,596870315,2/18/2017,6045,152.58,97.44,922346.10,589024.80,333321.30\r\nEurope,Switzerland,Meat,Online,C,12/22/2012,703815782,1/7/2013,3585,421.89,364.69,1512475.65,1307413.65,205062.00\r\nAustralia and Oceania,Samoa ,Personal Care,Online,C,4/16/2010,559352862,6/4/2010,3797,81.73,56.67,310328.81,215175.99,95152.82\r\nEurope,Portugal,Cosmetics,Offline,C,2/27/2011,736967885,3/12/2011,4029,437.20,263.33,1761478.80,1060956.57,700522.23\r\nEurope,Albania,Clothes,Offline,C,1/14/2015,980459678,2/9/2015,8661,109.28,35.84,946474.08,310410.24,636063.84\r\nCentral America and the Caribbean,Dominica,Vegetables,Offline,C,11/16/2014,653939568,12/6/2014,4105,154.06,90.93,632416.30,373267.65,259148.65\r\nAustralia and Oceania,Tuvalu,Cosmetics,Online,H,1/17/2016,991831386,1/29/2016,3803,437.20,263.33,1662671.60,1001443.99,661227.61\r\nAustralia and Oceania,Marshall Islands,Cereal,Online,L,5/29/2017,148871457,7/6/2017,3227,205.70,117.11,663793.90,377913.97,285879.93\r\nEurope,Bulgaria,Fruits,Online,H,2/10/2015,850108611,2/25/2015,4884,9.33,6.92,45567.72,33797.28,11770.44\r\nSub-Saharan Africa,Niger,Office Supplies,Offline,M,12/8/2013,940904176,1/7/2014,3309,651.21,524.96,2154853.89,1737092.64,417761.25\r\nCentral America and the Caribbean,Saint Vincent and the Grenadines,Office Supplies,Offline,H,12/10/2015,136931979,12/13/2015,70,651.21,524.96,45584.70,36747.20,8837.50\r\nSub-Saharan Africa,Malawi,Beverages,Offline,L,9/4/2016,474178349,9/26/2016,8766,47.45,31.79,415946.70,278671.14,137275.56\r\nSub-Saharan Africa,Cape Verde,Personal Care,Offline,L,7/19/2016,458942115,7/29/2016,25,81.73,56.67,2043.25,1416.75,626.50\r\nCentral America and the Caribbean,Saint Vincent and the Grenadines,Beverages,Offline,C,1/9/2017,917834603,1/13/2017,6510,47.45,31.79,308899.50,206952.90,101946.60\r\nEurope,Greece,Personal Care,Offline,H,11/5/2016,947779643,12/5/2016,7913,81.73,56.67,646729.49,448429.71,198299.78\r\nEurope,Monaco,Clothes,Online,L,10/31/2015,166013562,11/26/2015,5957,109.28,35.84,650980.96,213498.88,437482.08\r\nSub-Saharan Africa,Nigeria,Beverages,Online,L,1/25/2011,960085189,2/13/2011,9397,47.45,31.79,445887.65,298730.63,147157.02\r\nEurope,Norway,Cosmetics,Offline,C,11/8/2015,837855851,11/8/2015,9020,437.20,263.33,3943544.00,2375236.60,1568307.40\r\nNorth America,Greenland,Snacks,Offline,L,6/24/2010,977499377,8/12/2010,2643,152.58,97.44,403268.94,257533.92,145735.02\r\nMiddle East and North Africa,Tunisia ,Beverages,Online,L,2/27/2014,377502095,3/3/2014,114,47.45,31.79,5409.30,3624.06,1785.24\r\nAsia,Uzbekistan,Meat,Offline,H,2/5/2013,806662833,3/27/2013,8313,421.89,364.69,3507171.57,3031667.97,475503.60\r\nCentral America and the Caribbean,Saint Kitts and Nevis ,Vegetables,Online,H,4/15/2017,954092919,5/11/2017,6152,154.06,90.93,947777.12,559401.36,388375.76\r\nCentral America and the Caribbean,Belize,Meat,Online,L,4/9/2011,479216182,4/26/2011,9572,421.89,364.69,4038331.08,3490812.68,547518.40\r\nSub-Saharan Africa,Angola,Personal Care,Online,H,12/13/2010,461768949,12/30/2010,6548,81.73,56.67,535168.04,371075.16,164092.88\r\nAsia,Bhutan,Meat,Online,C,5/13/2014,251800048,5/22/2014,2085,421.89,364.69,879640.65,760378.65,119262.00\r\nCentral America and the Caribbean,Honduras,Personal Care,Offline,L,1/16/2013,619670808,2/25/2013,3217,81.73,56.67,262925.41,182307.39,80618.02\r\nSub-Saharan Africa,South Sudan,Household,Offline,H,12/9/2010,606055057,1/23/2011,4014,668.27,502.54,2682435.78,2017195.56,665240.22\r\nAsia,Kyrgyzstan,Baby Food,Online,L,1/24/2013,671939122,2/14/2013,573,255.28,159.42,146275.44,91347.66,54927.78\r\nSub-Saharan Africa,Sao Tome and Principe,Cosmetics,Offline,M,2/25/2014,448621833,3/3/2014,6025,437.20,263.33,2634130.00,1586563.25,1047566.75\r\nSub-Saharan Africa,Madagascar,Fruits,Online,M,7/23/2017,987714517,9/11/2017,5530,9.33,6.92,51594.90,38267.60,13327.30\r\nSub-Saharan Africa,Senegal,Household,Online,H,5/7/2016,711141002,6/14/2016,1280,668.27,502.54,855385.60,643251.20,212134.40\r\nSub-Saharan Africa,Sierra Leone,Office Supplies,Online,C,3/24/2012,361137616,4/18/2012,7501,651.21,524.96,4884726.21,3937724.96,947001.25\r\nAsia,Malaysia,Household,Offline,H,10/3/2011,750253188,11/21/2011,5446,668.27,502.54,3639398.42,2736832.84,902565.58\r\nCentral America and the Caribbean,Cuba,Office Supplies,Online,C,12/22/2014,511349046,1/2/2015,8401,651.21,524.96,5470815.21,4410188.96,1060626.25\r\nSub-Saharan Africa,Zimbabwe,Personal Care,Offline,L,8/23/2011,147599017,8/28/2011,6684,81.73,56.67,546283.32,378782.28,167501.04\r\nEurope,Serbia,Beverages,Online,H,4/18/2015,682489430,5/23/2015,2644,47.45,31.79,125457.80,84052.76,41405.04\r\nAsia,Maldives,Vegetables,Offline,M,1/11/2014,509819114,2/23/2014,5660,154.06,90.93,871979.60,514663.80,357315.80\r\nEurope,Ireland,Office Supplies,Offline,M,2/27/2012,343699395,4/2/2012,7144,651.21,524.96,4652244.24,3750314.24,901930.00\r\nEurope,Romania,Clothes,Offline,L,4/4/2011,968554103,4/8/2011,5537,109.28,35.84,605083.36,198446.08,406637.28\r\nEurope,Croatia,Beverages,Online,M,12/26/2013,989119565,1/6/2014,1315,47.45,31.79,62396.75,41803.85,20592.90\r\nEurope,Albania,Vegetables,Offline,M,9/12/2012,880444610,10/31/2012,1980,154.06,90.93,305038.80,180041.40,124997.40\r\nCentral America and the Caribbean,Dominican Republic,Vegetables,Offline,L,12/19/2015,737890565,1/15/2016,7071,154.06,90.93,1089358.26,642966.03,446392.23\r\nSub-Saharan Africa,Zimbabwe,Vegetables,Online,M,6/26/2014,727131259,8/9/2014,3153,154.06,90.93,485751.18,286702.29,199048.89\r\nSub-Saharan Africa,Ghana,Office Supplies,Offline,L,3/2/2015,634153020,3/11/2015,8826,651.21,524.96,5747579.46,4633296.96,1114282.50\r\nAsia,Laos,Beverages,Online,H,8/17/2014,315254676,9/8/2014,9719,47.45,31.79,461166.55,308967.01,152199.54\r\nCentral America and the Caribbean,Panama,Personal Care,Offline,M,7/19/2010,147047555,9/3/2010,3494,81.73,56.67,285564.62,198004.98,87559.64\r\nSub-Saharan Africa,Angola,Household,Online,L,1/14/2013,576455485,2/13/2013,4843,668.27,502.54,3236431.61,2433801.22,802630.39\r\nMiddle East and North Africa,Syria,Snacks,Offline,L,7/19/2010,770714795,8/26/2010,490,152.58,97.44,74764.20,47745.60,27018.60\r\nSub-Saharan Africa,Sierra Leone,Cosmetics,Offline,H,7/11/2011,867374312,8/3/2011,4189,437.20,263.33,1831430.80,1103089.37,728341.43\r\nSub-Saharan Africa,Uganda,Fruits,Online,L,5/4/2010,624295365,6/23/2010,1727,9.33,6.92,16112.91,11950.84,4162.07\r\nAsia,Taiwan,Clothes,Offline,M,10/13/2013,769651782,11/3/2013,5921,109.28,35.84,647046.88,212208.64,434838.24\r\nMiddle East and North Africa,Azerbaijan,Vegetables,Online,C,7/27/2014,751929891,8/1/2014,1619,154.06,90.93,249423.14,147215.67,102207.47\r\nAsia,Maldives,Office Supplies,Online,H,4/4/2010,989928519,4/11/2010,702,651.21,524.96,457149.42,368521.92,88627.50\r\nSub-Saharan Africa,Mauritania,Meat,Offline,H,8/17/2014,622758996,10/1/2014,7081,421.89,364.69,2987403.09,2582369.89,405033.20\r\nSub-Saharan Africa,Burundi,Baby Food,Online,H,1/4/2016,659845149,1/29/2016,1698,255.28,159.42,433465.44,270695.16,162770.28\r\nSub-Saharan Africa,Zambia,Baby Food,Offline,H,5/17/2011,830923306,6/5/2011,7526,255.28,159.42,1921237.28,1199794.92,721442.36\r\nAsia,Singapore,Beverages,Offline,L,2/12/2010,936042296,3/17/2010,4571,47.45,31.79,216893.95,145312.09,71581.86\r\nSub-Saharan Africa,Ghana,Household,Online,L,2/17/2015,395563447,3/30/2015,4869,668.27,502.54,3253806.63,2446867.26,806939.37\r\nSub-Saharan Africa,Guinea,Meat,Offline,M,6/7/2011,500160586,6/7/2011,7487,421.89,364.69,3158690.43,2730434.03,428256.40\r\nSub-Saharan Africa,Zambia,Fruits,Online,L,5/26/2015,360820043,7/2/2015,3524,9.33,6.92,32878.92,24386.08,8492.84\r\nEurope,Georgia,Snacks,Online,C,5/24/2010,958840644,6/2/2010,1109,152.58,97.44,169211.22,108060.96,61150.26\r\nMiddle East and North Africa,Bahrain,Baby Food,Online,M,2/21/2011,195833718,4/7/2011,404,255.28,159.42,103133.12,64405.68,38727.44\r\nSub-Saharan Africa,Lesotho,Personal Care,Offline,M,6/28/2014,543723094,7/2/2014,8601,81.73,56.67,702959.73,487418.67,215541.06\r\nCentral America and the Caribbean,Barbados,Cosmetics,Offline,H,10/15/2010,494745099,10/30/2010,4924,437.20,263.33,2152772.80,1296636.92,856135.88\r\nMiddle East and North Africa,Saudi Arabia,Vegetables,Online,H,5/18/2010,411448562,6/30/2010,5628,154.06,90.93,867049.68,511754.04,355295.64\r\nEurope,Macedonia,Personal Care,Offline,H,2/2/2017,276694810,2/16/2017,8998,81.73,56.67,735406.54,509916.66,225489.88\r\nAsia,Turkmenistan,Office Supplies,Offline,M,11/24/2016,143657672,1/8/2017,352,651.21,524.96,229225.92,184785.92,44440.00\r\nEurope,Albania,Baby Food,Online,L,12/23/2011,585823476,1/6/2012,7040,255.28,159.42,1797171.20,1122316.80,674854.40\r\nMiddle East and North Africa,Afghanistan,Clothes,Online,C,12/5/2016,446991050,1/16/2017,3440,109.28,35.84,375923.20,123289.60,252633.60\r\nAustralia and Oceania,Kiribati,Clothes,Offline,M,2/16/2017,891271722,2/22/2017,5963,109.28,35.84,651636.64,213713.92,437922.72\r\nMiddle East and North Africa,Morocco,Cosmetics,Online,C,5/18/2010,453089320,6/16/2010,8053,437.20,263.33,3520771.60,2120596.49,1400175.11\r\nEurope,Norway,Baby Food,Offline,L,9/7/2010,887180173,10/18/2010,5183,255.28,159.42,1323116.24,826273.86,496842.38\r\nEurope,Sweden,Cosmetics,Online,L,3/12/2014,418593108,3/25/2014,9858,437.20,263.33,4309917.60,2595907.14,1714010.46\r\nAsia,Tajikistan,Personal Care,Online,M,7/16/2010,492689454,8/16/2010,6613,81.73,56.67,540480.49,374758.71,165721.78\r\nEurope,Netherlands,Cosmetics,Online,M,12/5/2016,825143039,12/20/2016,7017,437.20,263.33,3067832.40,1847786.61,1220045.79\r\nEurope,Spain,Vegetables,Online,L,10/8/2013,751940190,10/10/2013,4667,154.06,90.93,718998.02,424370.31,294627.71\r\nSub-Saharan Africa,Chad,Baby Food,Offline,H,8/9/2016,579379737,8/26/2016,194,255.28,159.42,49524.32,30927.48,18596.84\r\nEurope,Ireland,Meat,Online,C,10/6/2011,234073007,11/20/2011,6259,421.89,364.69,2640609.51,2282594.71,358014.80\r\nMiddle East and North Africa,Pakistan,Meat,Online,C,2/17/2013,612943828,3/1/2013,2554,421.89,364.69,1077507.06,931418.26,146088.80\r\nSub-Saharan Africa,Mozambique,Fruits,Online,C,12/14/2012,433228528,12/21/2012,804,9.33,6.92,7501.32,5563.68,1937.64\r\nMiddle East and North Africa,Bahrain,Fruits,Online,L,11/20/2015,282475936,11/28/2015,9762,9.33,6.92,91079.46,67553.04,23526.42\r\nAsia,Tajikistan,Meat,Online,M,7/7/2012,368547379,7/12/2012,214,421.89,364.69,90284.46,78043.66,12240.80\r\nAustralia and Oceania,New Zealand,Meat,Offline,H,6/2/2013,969616687,6/28/2013,9980,421.89,364.69,4210462.20,3639606.20,570856.00\r\nSub-Saharan Africa,Niger,Baby Food,Online,L,2/4/2015,184170186,2/17/2015,8906,255.28,159.42,2273523.68,1419794.52,853729.16\r\nEurope,Armenia,Fruits,Online,C,4/28/2011,681006705,6/14/2011,3872,9.33,6.92,36125.76,26794.24,9331.52\r\nSub-Saharan Africa,Gabon,Baby Food,Online,L,2/1/2012,249237573,2/21/2012,3791,255.28,159.42,967766.48,604361.22,363405.26\r\nAsia,Kyrgyzstan,Vegetables,Offline,H,1/29/2017,348286616,2/13/2017,4604,154.06,90.93,709292.24,418641.72,290650.52\r\nAustralia and Oceania,Fiji,Clothes,Offline,L,12/1/2011,257890164,12/29/2011,4285,109.28,35.84,468264.80,153574.40,314690.40\r\nEurope,Romania,Cosmetics,Online,H,5/8/2017,228097045,6/17/2017,7839,437.20,263.33,3427210.80,2064243.87,1362966.93\r\nSub-Saharan Africa,Botswana,Cereal,Online,C,5/3/2017,129268586,6/21/2017,2302,205.70,117.11,473521.40,269587.22,203934.18\r\nAustralia and Oceania,Fiji,Cosmetics,Online,M,10/31/2015,802078616,12/9/2015,1741,437.20,263.33,761165.20,458457.53,302707.67\r\nEurope,Vatican City,Clothes,Offline,C,4/11/2010,907513463,4/19/2010,2256,109.28,35.84,246535.68,80855.04,165680.64\r\nAsia,Thailand,Vegetables,Online,L,7/17/2010,976871955,8/31/2010,6975,154.06,90.93,1074568.50,634236.75,440331.75\r\nEurope,Belarus,Cereal,Offline,C,5/31/2012,261765420,7/17/2012,1060,205.70,117.11,218042.00,124136.60,93905.40\r\nAustralia and Oceania,Solomon Islands,Vegetables,Offline,L,7/15/2016,784117686,7/17/2016,6703,154.06,90.93,1032664.18,609503.79,423160.39\r\nAsia,China,Cosmetics,Offline,M,1/14/2017,586165082,1/27/2017,8128,437.20,263.33,3553561.60,2140346.24,1413215.36\r\nSub-Saharan Africa,Angola,Snacks,Online,C,11/26/2012,480456435,12/16/2012,6591,152.58,97.44,1005654.78,642227.04,363427.74\r\nAsia,Cambodia,Cereal,Online,L,10/3/2011,899853074,10/26/2011,5376,205.70,117.11,1105843.20,629583.36,476259.84\r\nCentral America and the Caribbean,Guatemala,Baby Food,Offline,L,11/30/2010,547528827,12/15/2010,4802,255.28,159.42,1225854.56,765534.84,460319.72\r\nSub-Saharan Africa,Namibia,Vegetables,Online,L,5/8/2016,446970021,5/9/2016,7217,154.06,90.93,1111851.02,656241.81,455609.21\r\nEurope,Serbia,Beverages,Offline,H,2/27/2016,791975486,3/20/2016,2001,47.45,31.79,94947.45,63611.79,31335.66\r\nMiddle East and North Africa,Turkey,Vegetables,Offline,M,8/24/2014,496656548,9/29/2014,564,154.06,90.93,86889.84,51284.52,35605.32\r\nMiddle East and North Africa,Pakistan,Vegetables,Offline,C,5/26/2013,345437037,6/30/2013,1351,154.06,90.93,208135.06,122846.43,85288.63\r\nEurope,Georgia,Vegetables,Offline,H,1/26/2015,743053281,2/23/2015,4833,154.06,90.93,744571.98,439464.69,305107.29\r\nAustralia and Oceania,Vanuatu,Snacks,Offline,L,1/7/2012,364554107,1/18/2012,8516,152.58,97.44,1299371.28,829799.04,469572.24\r\nEurope,Luxembourg,Cosmetics,Online,H,10/21/2012,205300843,12/3/2012,1937,437.20,263.33,846856.40,510070.21,336786.19\r\nMiddle East and North Africa,Saudi Arabia,Household,Online,M,9/16/2015,430967319,10/5/2015,1661,668.27,502.54,1109996.47,834718.94,275277.53\r\nAustralia and Oceania,Vanuatu,Meat,Offline,H,6/28/2012,827539861,7/1/2012,6289,421.89,364.69,2653266.21,2293535.41,359730.80\r\nCentral America and the Caribbean,Haiti,Snacks,Offline,H,12/2/2014,351317298,1/14/2015,1450,152.58,97.44,221241.00,141288.00,79953.00\r\nSub-Saharan Africa,Tanzania,Household,Offline,C,2/4/2013,278910958,2/4/2013,4805,668.27,502.54,3211037.35,2414704.70,796332.65\r\nAsia,North Korea,Cosmetics,Offline,C,2/17/2017,157244670,3/15/2017,1047,437.20,263.33,457748.40,275706.51,182041.89\r\nMiddle East and North Africa,Bahrain,Beverages,Online,L,6/24/2015,953554761,7/28/2015,6899,47.45,31.79,327357.55,219319.21,108038.34\r\nSub-Saharan Africa,Cote d'Ivoire,Cereal,Online,L,7/30/2016,105390059,8/25/2016,6115,205.70,117.11,1257855.50,716127.65,541727.85\r\nAsia,Singapore,Cosmetics,Offline,L,10/23/2014,970611894,11/10/2014,4483,437.20,263.33,1959967.60,1180508.39,779459.21\r\nAsia,Malaysia,Baby Food,Offline,M,12/16/2016,677394092,12/29/2016,4820,255.28,159.42,1230449.60,768404.40,462045.20\r\nEurope,Albania,Baby Food,Online,L,9/28/2015,474222981,10/26/2015,1973,255.28,159.42,503667.44,314535.66,189131.78\r\nSub-Saharan Africa,Gabon,Snacks,Online,L,4/16/2016,779897391,5/5/2016,7824,152.58,97.44,1193785.92,762370.56,431415.36\r\nEurope,Poland,Snacks,Offline,L,3/27/2017,733528649,3/30/2017,6283,152.58,97.44,958660.14,612215.52,346444.62\r\nSub-Saharan Africa,Chad,Office Supplies,Online,H,6/25/2014,444540584,8/2/2014,8292,651.21,524.96,5399833.32,4352968.32,1046865.00\r\nSub-Saharan Africa,Republic of the Congo,Clothes,Online,H,7/29/2012,542669522,9/11/2012,6826,109.28,35.84,745945.28,244643.84,501301.44\r\nAsia,Philippines,Fruits,Offline,L,5/4/2013,827964293,6/1/2013,1888,9.33,6.92,17615.04,13064.96,4550.08\r\nEurope,France,Snacks,Offline,M,2/2/2012,720786225,2/15/2012,5516,152.58,97.44,841631.28,537479.04,304152.24\r\nEurope,Germany,Household,Offline,H,7/24/2016,611809146,8/1/2016,6777,668.27,502.54,4528865.79,3405713.58,1123152.21\r\nSub-Saharan Africa,Uganda,Personal Care,Online,M,11/4/2012,512019383,12/12/2012,6769,81.73,56.67,553230.37,383599.23,169631.14\r\nMiddle East and North Africa,Bahrain,Personal Care,Online,C,8/5/2014,502715766,8/17/2014,3621,81.73,56.67,295944.33,205202.07,90742.26\r\nMiddle East and North Africa,Jordan,Office Supplies,Offline,M,10/22/2013,285509622,10/28/2013,7497,651.21,524.96,4882121.37,3935625.12,946496.25\r\nEurope,Montenegro,Beverages,Offline,L,12/1/2014,532324779,1/3/2015,5586,47.45,31.79,265055.70,177578.94,87476.76\r\nMiddle East and North Africa,Tunisia ,Personal Care,Offline,H,11/2/2015,635397565,11/21/2015,7114,81.73,56.67,581427.22,403150.38,178276.84\r\nEurope,Germany,Cereal,Offline,M,10/7/2011,957276809,11/4/2011,8335,205.70,117.11,1714509.50,976111.85,738397.65\r\nEurope,Italy,Snacks,Online,L,2/9/2014,580823838,3/21/2014,7536,152.58,97.44,1149842.88,734307.84,415535.04\r\nEurope,France,Office Supplies,Offline,H,5/29/2016,459212481,6/16/2016,33,651.21,524.96,21489.93,17323.68,4166.25\r\nMiddle East and North Africa,Algeria,Baby Food,Online,L,4/8/2013,265929067,5/23/2013,3175,255.28,159.42,810514.00,506158.50,304355.50\r\nAsia,Myanmar,Beverages,Online,H,9/20/2011,644772422,10/26/2011,1343,47.45,31.79,63725.35,42693.97,21031.38\r\nEurope,France,Vegetables,Offline,C,4/12/2012,959853875,5/4/2012,947,154.06,90.93,145894.82,86110.71,59784.11\r\nEurope,Spain,Vegetables,Online,C,10/2/2012,645597255,10/25/2012,5429,154.06,90.93,836391.74,493658.97,342732.77\r\nAsia,Cambodia,Baby Food,Offline,C,1/2/2012,556738889,1/25/2012,264,255.28,159.42,67393.92,42086.88,25307.04\r\nSub-Saharan Africa,The Gambia,Vegetables,Online,M,9/30/2013,718327605,11/10/2013,7956,154.06,90.93,1225701.36,723439.08,502262.28\r\nEurope,Russia,Baby Food,Offline,L,3/10/2015,775724732,3/20/2015,3041,255.28,159.42,776306.48,484796.22,291510.26\r\nEurope,Belarus,Baby Food,Offline,H,10/26/2010,444604098,10/31/2010,7088,255.28,159.42,1809424.64,1129968.96,679455.68\r\nMiddle East and North Africa,Turkey,Beverages,Online,C,5/2/2011,860952031,5/13/2011,3693,47.45,31.79,175232.85,117400.47,57832.38\r\nSub-Saharan Africa,Kenya,Meat,Offline,C,2/19/2017,531067359,2/20/2017,3488,421.89,364.69,1471552.32,1272038.72,199513.60\r\nMiddle East and North Africa,Iran,Cosmetics,Offline,M,7/20/2014,281561410,8/2/2014,9133,437.20,263.33,3992947.60,2404992.89,1587954.71\r\nAsia,Vietnam,Personal Care,Offline,L,6/18/2017,109358012,7/10/2017,321,81.73,56.67,26235.33,18191.07,8044.26\r\nEurope,Albania,Beverages,Online,L,7/19/2010,531693494,8/6/2010,8775,47.45,31.79,416373.75,278957.25,137416.50\r\nCentral America and the Caribbean,Antigua and Barbuda ,Clothes,Offline,C,8/9/2013,336116683,9/4/2013,3251,109.28,35.84,355269.28,116515.84,238753.44\r\nSub-Saharan Africa,Senegal,Cereal,Offline,M,3/23/2017,630488908,4/30/2017,4534,205.70,117.11,932643.80,530976.74,401667.06\r\nEurope,Netherlands,Fruits,Online,L,10/31/2016,792983996,12/2/2016,441,9.33,6.92,4114.53,3051.72,1062.81\r\nEurope,Russia,Fruits,Online,C,7/3/2016,722088277,7/3/2016,822,9.33,6.92,7669.26,5688.24,1981.02\r\nEurope,Slovakia,Cosmetics,Online,H,1/7/2010,386600577,1/29/2010,2557,437.20,263.33,1117920.40,673334.81,444585.59\r\nAustralia and Oceania,East Timor,Beverages,Offline,L,12/6/2014,275632226,1/18/2015,4556,47.45,31.79,216182.20,144835.24,71346.96\r\nCentral America and the Caribbean,Haiti,Vegetables,Offline,H,10/16/2015,948607051,11/27/2015,2761,154.06,90.93,425359.66,251057.73,174301.93\r\nMiddle East and North Africa,Yemen,Cereal,Online,H,5/10/2013,785261380,5/26/2013,5147,205.70,117.11,1058737.90,602765.17,455972.73\r\nAustralia and Oceania,Tuvalu,Cereal,Online,C,3/27/2013,935644042,5/15/2013,6719,205.70,117.11,1382098.30,786862.09,595236.21\r\nSub-Saharan Africa,Liberia,Snacks,Offline,M,7/13/2014,370116364,8/17/2014,4512,152.58,97.44,688440.96,439649.28,248791.68\r\nAsia,North Korea,Beverages,Online,C,8/16/2013,829352176,8/26/2013,2594,47.45,31.79,123085.30,82463.26,40622.04\r\nAsia,North Korea,Household,Online,M,7/14/2015,974337804,8/7/2015,7063,668.27,502.54,4719991.01,3549440.02,1170550.99\r\nEurope,Romania,Household,Online,H,12/23/2014,436372077,1/3/2015,1050,668.27,502.54,701683.50,527667.00,174016.50\r\nSub-Saharan Africa,Sao Tome and Principe,Cereal,Offline,M,4/27/2015,267066323,5/19/2015,9715,205.70,117.11,1998375.50,1137723.65,860651.85\r\nMiddle East and North Africa,Bahrain,Fruits,Online,M,3/14/2017,688344371,4/28/2017,5251,9.33,6.92,48991.83,36336.92,12654.91\r\nMiddle East and North Africa,Somalia,Cosmetics,Offline,M,10/2/2014,642442548,11/2/2014,1881,437.20,263.33,822373.20,495323.73,327049.47\r\nEurope,Cyprus,Cereal,Online,C,7/13/2014,941909682,8/1/2014,861,205.70,117.11,177107.70,100831.71,76275.99\r\nEurope,United Kingdom,Beverages,Offline,C,7/31/2016,219607102,8/13/2016,5477,47.45,31.79,259883.65,174113.83,85769.82\r\nEurope,Germany,Personal Care,Offline,H,8/30/2010,778708636,9/2/2010,6045,81.73,56.67,494057.85,342570.15,151487.70\r\nMiddle East and North Africa,Somalia,Beverages,Online,M,4/22/2010,942700612,6/6/2010,4915,47.45,31.79,233216.75,156247.85,76968.90\r\nAustralia and Oceania,New Zealand,Household,Offline,H,3/9/2011,905381858,4/8/2011,1466,668.27,502.54,979683.82,736723.64,242960.18\r\nMiddle East and North Africa,Kuwait,Meat,Online,C,1/13/2010,480863702,1/28/2010,7110,421.89,364.69,2999637.90,2592945.90,406692.00\r\nAsia,Japan,Cosmetics,Online,L,1/6/2016,453569972,2/19/2016,289,437.20,263.33,126350.80,76102.37,50248.43\r\nEurope,Norway,Baby Food,Offline,H,8/17/2016,328236997,9/10/2016,1476,255.28,159.42,376793.28,235303.92,141489.36\r\nSub-Saharan Africa,Lesotho,Personal Care,Offline,C,10/22/2011,579913604,10/23/2011,8177,81.73,56.67,668306.21,463390.59,204915.62\r\nEurope,Belgium,Cosmetics,Online,H,2/12/2010,403961122,3/20/2010,9928,437.20,263.33,4340521.60,2614340.24,1726181.36\r\nCentral America and the Caribbean,Honduras,Cosmetics,Offline,L,5/29/2017,866053378,6/22/2017,3295,437.20,263.33,1440574.00,867672.35,572901.65\r\nEurope,Austria,Household,Offline,C,4/17/2010,852176702,5/13/2010,6878,668.27,502.54,4596361.06,3456470.12,1139890.94\r\nMiddle East and North Africa,Oman,Baby Food,Online,M,9/8/2015,218629920,10/20/2015,6307,255.28,159.42,1610050.96,1005461.94,604589.02\r\nMiddle East and North Africa,Oman,Baby Food,Offline,C,2/13/2016,242024362,3/17/2016,9242,255.28,159.42,2359297.76,1473359.64,885938.12\r\nEurope,Spain,Snacks,Offline,M,2/16/2014,469283854,2/16/2014,376,152.58,97.44,57370.08,36637.44,20732.64\r\nMiddle East and North Africa,Afghanistan,Fruits,Online,C,4/22/2013,967644727,4/30/2013,6433,9.33,6.92,60019.89,44516.36,15503.53\r\nCentral America and the Caribbean,Saint Vincent and the Grenadines,Cosmetics,Offline,L,7/15/2014,974655807,7/23/2014,1167,437.20,263.33,510212.40,307306.11,202906.29\r\nEurope,Iceland,Vegetables,Online,M,3/7/2012,248178422,3/22/2012,365,154.06,90.93,56231.90,33189.45,23042.45\r\nAsia,Myanmar,Vegetables,Offline,L,1/14/2013,416386401,2/16/2013,6844,154.06,90.93,1054386.64,622324.92,432061.72\r\nEurope,Netherlands,Snacks,Offline,L,5/22/2017,927766072,6/20/2017,5453,152.58,97.44,832018.74,531340.32,300678.42\r\nEurope,Slovakia,Vegetables,Online,M,3/23/2015,401116263,3/31/2015,8071,154.06,90.93,1243418.26,733896.03,509522.23\r\nMiddle East and North Africa,Bahrain,Fruits,Offline,H,9/28/2012,675548303,11/6/2012,8610,9.33,6.92,80331.30,59581.20,20750.10\r\nSub-Saharan Africa,Lesotho,Baby Food,Online,L,6/6/2013,960486018,7/4/2013,8012,255.28,159.42,2045303.36,1277273.04,768030.32\r\nCentral America and the Caribbean,Cuba,Clothes,Offline,L,4/2/2014,985665738,5/19/2014,9250,109.28,35.84,1010840.00,331520.00,679320.00\r\nMiddle East and North Africa,Afghanistan,Clothes,Offline,C,1/13/2017,551136291,1/13/2017,2331,109.28,35.84,254731.68,83543.04,171188.64\r\nAustralia and Oceania,Vanuatu,Cereal,Online,L,2/3/2017,877259004,2/16/2017,9289,205.70,117.11,1910747.30,1087834.79,822912.51\r\nAsia,Bhutan,Beverages,Offline,M,8/5/2014,554707705,9/19/2014,9192,47.45,31.79,436160.40,292213.68,143946.72\r\nAustralia and Oceania,Palau,Cereal,Offline,L,10/6/2010,494468724,10/23/2010,3139,205.70,117.11,645692.30,367608.29,278084.01\r\nAsia,Indonesia,Personal Care,Online,H,9/10/2011,777840888,10/23/2011,9259,81.73,56.67,756738.07,524707.53,232030.54\r\nEurope,Andorra,Baby Food,Offline,C,12/12/2016,206435525,1/27/2017,7714,255.28,159.42,1969229.92,1229765.88,739464.04\r\nMiddle East and North Africa,Algeria,Office Supplies,Online,C,10/26/2015,352176463,12/5/2015,5696,651.21,524.96,3709292.16,2990172.16,719120.00\r\nAustralia and Oceania,Vanuatu,Cosmetics,Offline,C,10/14/2013,607300031,10/14/2013,2429,437.20,263.33,1061958.80,639628.57,422330.23\r\nNorth America,Mexico,Baby Food,Online,H,8/17/2013,434355056,9/28/2013,4168,255.28,159.42,1064007.04,664462.56,399544.48\r\nEurope,Macedonia,Fruits,Offline,M,8/7/2011,716202867,9/20/2011,9199,9.33,6.92,85826.67,63657.08,22169.59\r\nCentral America and the Caribbean,Panama,Personal Care,Online,H,5/22/2016,606017291,6/12/2016,2838,81.73,56.67,231949.74,160829.46,71120.28\r\nAsia,Nepal,Cereal,Offline,H,1/13/2015,677284657,1/15/2015,2436,205.70,117.11,501085.20,285279.96,215805.24\r\nAsia,Nepal,Fruits,Online,C,7/22/2014,673803794,7/29/2014,2371,9.33,6.92,22121.43,16407.32,5714.11\r\nSub-Saharan Africa,Mauritius ,Cereal,Offline,C,6/25/2015,859686028,7/10/2015,9055,205.70,117.11,1862613.50,1060431.05,802182.45\r\nSub-Saharan Africa,Sao Tome and Principe,Clothes,Online,H,8/10/2015,669355189,9/26/2015,5930,109.28,35.84,648030.40,212531.20,435499.20\r\nCentral America and the Caribbean,Saint Vincent and the Grenadines,Fruits,Offline,L,10/19/2013,957547605,11/21/2013,8470,9.33,6.92,79025.10,58612.40,20412.70\r\nAsia,Maldives,Personal Care,Online,M,10/9/2013,849312102,11/23/2013,9180,81.73,56.67,750281.40,520230.60,230050.80\r\nSub-Saharan Africa,Swaziland,Personal Care,Offline,H,9/26/2012,890010011,10/14/2012,2595,81.73,56.67,212089.35,147058.65,65030.70\r\nMiddle East and North Africa,Morocco,Cereal,Online,H,10/2/2012,795315158,10/26/2012,284,205.70,117.11,58418.80,33259.24,25159.56\r\nAsia,Maldives,Clothes,Offline,M,12/11/2016,801213872,1/28/2017,5844,109.28,35.84,638632.32,209448.96,429183.36\r\nSub-Saharan Africa,Zimbabwe,Fruits,Offline,C,7/26/2010,314004981,8/9/2010,9907,9.33,6.92,92432.31,68556.44,23875.87\r\nAsia,India,Cereal,Online,C,3/27/2010,160299813,4/6/2010,5132,205.70,117.11,1055652.40,601008.52,454643.88\r\nAsia,Tajikistan,Beverages,Offline,C,9/11/2014,337022197,9/22/2014,1212,47.45,31.79,57509.40,38529.48,18979.92\r\nSub-Saharan Africa,Lesotho,Snacks,Offline,M,3/9/2016,461408460,3/15/2016,9872,152.58,97.44,1506269.76,961927.68,544342.08\r\nAsia,Bhutan,Office Supplies,Offline,M,10/19/2011,221007430,11/10/2011,9865,651.21,524.96,6424186.65,5178730.40,1245456.25\r\nCentral America and the Caribbean,Trinidad and Tobago,Snacks,Offline,L,10/31/2014,723680436,12/20/2014,1978,152.58,97.44,301803.24,192736.32,109066.92\r\nAustralia and Oceania,Tuvalu,Fruits,Offline,L,2/23/2013,447601306,3/11/2013,4028,9.33,6.92,37581.24,27873.76,9707.48\r\nMiddle East and North Africa,Iraq,Clothes,Offline,L,10/25/2010,191256368,11/9/2010,5864,109.28,35.84,640817.92,210165.76,430652.16\r\nSub-Saharan Africa,The Gambia,Vegetables,Offline,L,10/4/2016,823444449,10/30/2016,4366,154.06,90.93,672625.96,397000.38,275625.58\r\nMiddle East and North Africa,Bahrain,Beverages,Online,C,9/4/2010,133276879,10/17/2010,8445,47.45,31.79,400715.25,268466.55,132248.70\r\nMiddle East and North Africa,Qatar,Meat,Online,H,12/22/2014,480177485,2/7/2015,4043,421.89,364.69,1705701.27,1474441.67,231259.60\r\nSub-Saharan Africa,Angola,Household,Offline,H,4/8/2015,243882596,5/11/2015,9135,668.27,502.54,6104646.45,4590702.90,1513943.55\r\nCentral America and the Caribbean,Costa Rica,Cosmetics,Online,L,3/2/2017,574441039,4/6/2017,8724,437.20,263.33,3814132.80,2297290.92,1516841.88\r\nAustralia and Oceania,Papua New Guinea,Household,Online,M,3/14/2012,442214143,5/3/2012,9847,668.27,502.54,6580454.69,4948511.38,1631943.31\r\nMiddle East and North Africa,Qatar,Clothes,Offline,C,11/22/2011,687875735,12/2/2011,6571,109.28,35.84,718078.88,235504.64,482574.24\r\nCentral America and the Caribbean,Saint Kitts and Nevis ,Clothes,Offline,H,9/8/2013,872412145,9/25/2013,4995,109.28,35.84,545853.60,179020.80,366832.80\r\nSub-Saharan Africa,Sierra Leone,Fruits,Offline,C,4/23/2012,627122199,4/29/2012,8250,9.33,6.92,76972.50,57090.00,19882.50\r\nEurope,Russia,Fruits,Online,M,2/14/2011,103617227,3/12/2011,1495,9.33,6.92,13948.35,10345.40,3602.95\r\nEurope,Lithuania,Vegetables,Offline,M,10/6/2010,423821055,10/22/2010,6923,154.06,90.93,1066557.38,629508.39,437048.99\r\nEurope,United Kingdom,Vegetables,Online,L,12/8/2012,529970014,1/3/2013,8759,154.06,90.93,1349411.54,796455.87,552955.67\r\nAsia,Indonesia,Personal Care,Offline,H,8/17/2016,334612929,10/3/2016,8256,81.73,56.67,674762.88,467867.52,206895.36\r\nAsia,Mongolia,Beverages,Offline,M,4/23/2014,270611131,5/24/2014,8702,47.45,31.79,412909.90,276636.58,136273.32\r\nMiddle East and North Africa,Egypt,Office Supplies,Online,C,11/18/2010,841138446,12/8/2010,413,651.21,524.96,268949.73,216808.48,52141.25\r\nSub-Saharan Africa,Comoros,Household,Online,M,4/22/2012,369681203,5/9/2012,5738,668.27,502.54,3834533.26,2883574.52,950958.74\r\nEurope,Slovenia,Household,Offline,M,4/5/2014,850038230,4/21/2014,4057,668.27,502.54,2711171.39,2038804.78,672366.61\r\nMiddle East and North Africa,Lebanon,Beverages,Online,M,6/21/2013,296320855,7/13/2013,6781,47.45,31.79,321758.45,215567.99,106190.46\r\nAustralia and Oceania,Australia,Cosmetics,Offline,L,7/13/2011,392952907,8/13/2011,2352,437.20,263.33,1028294.40,619352.16,408942.24\r\nCentral America and the Caribbean,Haiti,Snacks,Online,M,2/1/2011,644670712,3/21/2011,1245,152.58,97.44,189962.10,121312.80,68649.30\r\nCentral America and the Caribbean,Saint Kitts and Nevis ,Meat,Online,L,1/27/2012,626523101,2/16/2012,963,421.89,364.69,406280.07,351196.47,55083.60\r\nMiddle East and North Africa,Syria,Vegetables,Offline,M,6/24/2015,433871400,7/1/2015,1044,154.06,90.93,160838.64,94930.92,65907.72\r\nAsia,Laos,Snacks,Offline,M,1/3/2012,232389438,1/8/2012,8054,152.58,97.44,1228879.32,784781.76,444097.56\r\nCentral America and the Caribbean,Saint Kitts and Nevis ,Cereal,Offline,H,2/21/2016,708063542,3/19/2016,592,205.70,117.11,121774.40,69329.12,52445.28\r\nSub-Saharan Africa,Sudan,Vegetables,Offline,H,12/4/2016,817192542,12/22/2016,4288,154.06,90.93,660609.28,389907.84,270701.44\r\nCentral America and the Caribbean,Guatemala,Meat,Offline,H,1/16/2012,936387765,2/29/2012,6803,421.89,364.69,2870117.67,2480986.07,389131.60\r\nAsia,Brunei,Clothes,Offline,H,8/6/2011,612573039,8/9/2011,2830,109.28,35.84,309262.40,101427.20,207835.20\r\nMiddle East and North Africa,Jordan,Clothes,Online,M,8/12/2011,812984693,8/22/2011,9092,109.28,35.84,993573.76,325857.28,667716.48\r\nCentral America and the Caribbean,Panama,Meat,Offline,C,12/18/2012,775171554,1/5/2013,9344,421.89,364.69,3942140.16,3407663.36,534476.80\r\nSub-Saharan Africa,Central African Republic,Household,Online,H,1/10/2010,256994950,2/19/2010,9372,668.27,502.54,6263026.44,4709804.88,1553221.56\r\nMiddle East and North Africa,Bahrain,Beverages,Offline,M,2/28/2017,886628711,3/31/2017,1993,47.45,31.79,94567.85,63357.47,31210.38\r\nSub-Saharan Africa,Burundi,Beverages,Online,C,12/8/2011,312559163,12/16/2011,2057,47.45,31.79,97604.65,65392.03,32212.62\r\nEurope,Austria,Cereal,Online,L,8/18/2014,753585135,9/13/2014,1443,205.70,117.11,296825.10,168989.73,127835.37\r\nAustralia and Oceania,Fiji,Beverages,Offline,H,4/19/2016,448817956,4/22/2016,4062,47.45,31.79,192741.90,129130.98,63610.92\r\nAustralia and Oceania,Fiji,Clothes,Offline,M,11/6/2012,407681453,12/24/2012,856,109.28,35.84,93543.68,30679.04,62864.64\r\nEurope,Switzerland,Snacks,Online,H,5/27/2016,359911954,6/23/2016,4800,152.58,97.44,732384.00,467712.00,264672.00\r\nMiddle East and North Africa,Yemen,Office Supplies,Offline,M,8/18/2013,105558288,8/19/2013,5898,651.21,524.96,3840836.58,3096214.08,744622.50\r\nSub-Saharan Africa,Comoros,Personal Care,Offline,H,12/31/2014,864981782,2/11/2015,6186,81.73,56.67,505581.78,350560.62,155021.16\r\nSub-Saharan Africa,Democratic Republic of the Congo,Office Supplies,Online,C,2/4/2013,328856265,2/12/2013,4732,651.21,524.96,3081525.72,2484110.72,597415.00\r\nAsia,Mongolia,Clothes,Offline,H,9/23/2016,308168065,10/18/2016,2633,109.28,35.84,287734.24,94366.72,193367.52\r\nAustralia and Oceania,Palau,Household,Offline,L,11/1/2016,884216010,11/2/2016,8021,668.27,502.54,5360193.67,4030873.34,1329320.33\r\nEurope,Monaco,Snacks,Offline,M,12/27/2012,858611428,1/9/2013,1057,152.58,97.44,161277.06,102994.08,58282.98\r\nAustralia and Oceania,Fiji,Cereal,Online,L,3/10/2017,903278148,4/3/2017,8932,205.70,117.11,1837312.40,1046026.52,791285.88\r\nSub-Saharan Africa,Mali,Beverages,Online,L,3/17/2012,410452497,3/26/2012,870,47.45,31.79,41281.50,27657.30,13624.20\r\nSub-Saharan Africa,Liberia,Cereal,Offline,H,12/17/2015,642683303,1/20/2016,3126,205.70,117.11,643018.20,366085.86,276932.34\r\nEurope,Switzerland,Beverages,Offline,L,2/18/2017,682831895,3/16/2017,3987,47.45,31.79,189183.15,126746.73,62436.42\r\nAustralia and Oceania,Samoa ,Baby Food,Online,L,11/5/2016,584072101,11/5/2016,8769,255.28,159.42,2238550.32,1397953.98,840596.34\r\nAsia,Nepal,Meat,Offline,C,4/9/2017,919890248,5/18/2017,4821,421.89,364.69,2033931.69,1758170.49,275761.20\r\nMiddle East and North Africa,Azerbaijan,Snacks,Offline,C,4/18/2010,534085166,4/25/2010,6524,152.58,97.44,995431.92,635698.56,359733.36\r\nEurope,Georgia,Baby Food,Offline,H,8/1/2011,590768182,9/7/2011,288,255.28,159.42,73520.64,45912.96,27607.68\r\nMiddle East and North Africa,United Arab Emirates,Vegetables,Online,C,5/12/2011,524363124,6/28/2011,9556,154.06,90.93,1472197.36,868927.08,603270.28\r\nEurope,Finland,Household,Offline,L,1/25/2016,289606320,2/14/2016,9801,668.27,502.54,6549714.27,4925394.54,1624319.73\r\nEurope,Portugal,Cereal,Offline,C,4/10/2014,811546599,5/8/2014,3528,205.70,117.11,725709.60,413164.08,312545.52\r\n";
-
-export let noData: Object[] = [
- { 'Amount': 100, 'Country': "Canada", 'Date': "FY 2005", 'Product': "Bike", 'Quantity': 2, 'State': "Alberta" },
- { 'Amount': 200, 'Country': "Canada", 'Date': "FY 2006", 'Product': "Van", 'Quantity': 3, 'State': "British Columbia" },
- { 'Amount': 150, 'Country': "United States", 'Date': "FY 2006", 'Product': "Car", 'Quantity': 3, 'State': "New Mexico" },
- { 'Amount': 200, 'Country': "United States", 'Date': "FY 2005", 'Product': "Bike", 'Quantity': 4, 'State': "New York" }
-];
-
-export let pivotNullData: object[] = [
- { Amount: 100, Country: "Canada", Date: "FY 2005", Product: "Bike", Quantity: 2, State: "Alberta" },
- { Country: "Canada", Date: "FY 2006", Product: "Van", Quantity: 3, State: "British Columbia" },
- { Amount: 300, Date: "FY 2007", Product: "Car", Quantity: 4, State: "Brunswick" },
- { Amount: 150, Country: "Canada", Product: "Bike", Quantity: 3, State: "Manitoba" },
- { Amount: 200, Country: "Canada", Date: "FY 2006", Quantity: 4, State: "Ontario" },
- { Amount: 100, Country: "Canada", Date: "FY 2007", Product: "Van", State: "Quebec" },
- { Amount: 200, Country: "France", Date: "FY 2005", Product: "Bike", Quantity: 2 },
- { Country: "France", Date: "FY 2006", Product: "Van", Quantity: 4, State: "Essonne" },
- { Amount: 300, Date: "FY 2007", Product: "Car", Quantity: 3, State: "Garonne (Haute)" },
- { Amount: 150, Country: "France", Product: "Van", Quantity: 2, State: "Gers" },
- { Amount: 200, Country: "Germany", Date: "FY 2006", Quantity: 3, State: "Bayern" },
- { Amount: 250, Country: "Germany", Date: "FY 2007", Product: "Car", State: "Brandenburg" },
- { Amount: 150, Country: "Germany", Date: "FY 2008", Product: "Car", Quantity: 4 },
- { Country: "Germany", Date: "FY 2008", Product: "Bike", Quantity: 4, State: "Hessen" },
- { Amount: 150, Date: "FY 2007", Product: "Van", Quantity: 3, State: "Nordrhein-Westfalen" },
- { Amount: 100, Country: "Germany", Product: "Bike", Quantity: 2, State: "Saarland" },
- { Amount: 150, Country: "United Kingdom", Date: "FY 2008", Quantity: 5 },
- { Amount: 250, Country: "United States", Date: "FY 2007", Product: "Car", State: "Alabama" },
- { Amount: 200, Country: "United States", Date: "FY 2005", Product: "Van", Quantity: 4 },
- { Country: "United States", Date: "FY 2006", Product: "Bike", Quantity: 2, State: "Colorado" },
- { Amount: 150, Date: "FY 2008", Product: "Car", Quantity: 3, State: "New Mexico" },
- { Amount: 200, Country: "United States", Product: "Bike", Quantity: 4, State: "New York" },
- { Amount: 250, Country: "United States", Date: "FY 2008", Quantity: 3, State: "North Carolina" },
- { Amount: 300, Country: "United States", Date: "FY 2007", Product: "Van", State: "South Carolina" }
- ];
-
-let gData: Object[] = [
- {
- 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 2
-
- },
- {
- 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 3
-
- },
- {
- 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 5
-
- },
- {
- 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 2
-
- },
- {
- 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 1
-
- },
- {
- 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 3
-
- },
- {
- 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 3
- },
- {
- 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 4
-
- },
- {
- 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 1
-
- },
- {
- 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 3
- },
- {
- 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 2
-
- },
- {
- 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1006,
- 'Sold': 4
-
- },
- {
- 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 8
- },
- {
- 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 1
-
- },
- {
- 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 6
-
- },
- {
- 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 8
-
- },
- {
- 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 4
-
- },
- {
- 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 2
-
- },
- {
- 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 2
-
- },
- {
- 'Date': '9/05/2015 05:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 10
-
- },
- {
- 'Date': '9/12/2015 04:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 3
-
- },
- {
- 'Date': '9/25/2015 04:15:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 2
-
- },
- {
- 'Date': '9/29/2015 05:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 3
-
- },
- {
- 'Date': '9/05/2015 05:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 2
-
- },
- {
- 'Date': '9/12/2015 04:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 3
-
- },
- {
- 'Date': '9/25/2015 04:15:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 2
- },
- {
- 'Date': '9/29/2015 05:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 7
-
- },
- {
- 'Date': '10/3/2015 18:11:47 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 1
-
- },
- {
- 'Date': '1/3/2016 17:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 5
-
- },
- {
- 'Date': '1/4/2016 15:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 4
-
- },
- {
- 'Date': '1/5/2016 17:30:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 3
-
- },
- {
- 'Date': '1/8/2016 07:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 2
-
- },
- {
- 'Date': '10/3/2015 18:11:47 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '1/3/2016 17:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '1/4/2016 15:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '1/5/2016 17:30:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '1/8/2016 07:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1006,
- 'Sold': 1
-
- },
- {
- 'Date': '1/10/2016 17:26:25 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 7
-
- },
- {
- 'Date': '2/11/2016 18:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 3
-
- },
- {
- 'Date': '2/12/2016 19:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 2
-
- },
- {
- 'Date': '2/19/2016 18:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 5
-
- },
- {
- 'Date': '3/20/2016 06:31:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 1
-
- },
- {
- 'Date': '2/19/2016 18:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1006,
- 'Sold': 1
-
- },
- {
- 'Date': '3/20/2016 06:31:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 5
-
- },
- {
- 'Date': '3/23/2016 05:33:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 4
-
- },
- {
- 'Date': '3/06/2016 06:31:20 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '5/04/2016 21:41:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '5/11/2016 21:45:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 5
-
- },
- {
- 'Date': '3/20/2016 06:31:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 4
-
- },
- {
- 'Date': '2/19/2016 18:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 2
-
- },
- {
- 'Date': '3/20/2016 06:31:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 1
-
- },
- {
- 'Date': '3/23/2016 05:33:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 1
-
- },
- {
- 'Date': '3/06/2016 06:31:20 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '5/04/2016 21:41:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '5/11/2016 21:45:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 2
-
- },
- {
- 'Date': '6/17/2016 07:09:27 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 4
-
- },
- {
- 'Date': '7/1/2016 03:47:38 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 2
-
- },
- {
- 'Date': '7/2/2016 05:47:38 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 5
-
- },
- {
- 'Date': '9/8/2016 11:50:17 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 2
-
- },
- {
- 'Date': '12/2/2016 16:05:33 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 1
-
- },
- {
- 'Date': '6/17/2016 07:09:27 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 2
-
- },
- {
- 'Date': '7/1/2016 03:47:38 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '7/2/2016 05:47:38 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 4
-
- },
- {
- 'Date': '9/8/2016 11:50:17 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 2
-
- },
- {
- 'Date': '12/2/2016 16:05:33 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 3
-
- },
- {
- 'Date': '1/1/2017 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 2
-
- },
- {
- 'Date': '1/1/2017 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 3
-
- },
- {
- 'Date': '1/1/2017 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 5
-
- },
- {
- 'Date': '1/1/2017 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '1/1/2017 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '1/1/2017 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 2
-
- },
- {
- 'Date': '1/1/2017 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 1
-
- },
- {
- 'Date': '1/1/2017 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 3
-
- },
- {
- 'Date': '1/5/2017 20:19:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 3
- },
- {
- 'Date': '2/2/2017 10:22:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 4
-
- },
- {
- 'Date': '2/10/2017 10:23:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 1
-
- },
- {
- 'Date': '1/5/2017 20:19:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 3
- },
- {
- 'Date': '2/2/2017 10:22:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 2
-
- },
- {
- 'Date': '2/10/2017 10:23:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1006,
- 'Sold': 4
-
- },
- {
- 'Date': '1/5/2017 20:19:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 8
- },
- {
- 'Date': '2/2/2017 10:22:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 1
-
- },
- {
- 'Date': '2/10/2017 10:23:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 6
-
- },
- {
- 'Date': '2/20/2017 11:25:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 8
-
- },
- {
- 'Date': '3/07/2017 05:11:50 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 4
-
- },
- {
- 'Date': '3/13/2017 05:11:55 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 2
-
- },
- {
- 'Date': '9/1/2017 04:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '9/1/2017 04:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 2
-
- },
- {
- 'Date': '9/05/2017 05:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 10
-
- },
- {
- 'Date': '9/12/2017 04:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 3
-
- },
- {
- 'Date': '9/25/2017 04:15:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 2
-
- },
- {
- 'Date': '9/29/2017 05:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 3
-
- },
- {
- 'Date': '9/05/2017 05:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 2
-
- },
- {
- 'Date': '9/12/2017 04:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 3
-
- },
- {
- 'Date': '9/25/2017 04:15:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 2
- },
- {
- 'Date': '9/29/2017 05:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 7
-
- },
- {
- 'Date': '10/3/2017 18:11:47 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 1
-
- },
- {
- 'Date': '1/3/2018 17:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 5
-
- },
- {
- 'Date': '1/4/2018 15:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 4
-
- },
- {
- 'Date': '1/5/2018 17:30:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 3
-
- },
- {
- 'Date': '1/8/2018 07:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 2
-
- },
- {
- 'Date': '10/3/2017 18:11:47 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '1/3/2018 17:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '1/4/2018 15:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '1/5/2018 17:30:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '1/8/2018 07:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1006,
- 'Sold': 1
-
- },
- {
- 'Date': '1/10/2018 17:26:25 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 7
-
- },
- {
- 'Date': '2/11/2018 18:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 3
-
- },
- {
- 'Date': '2/12/2018 19:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 2
-
- },
- {
- 'Date': '2/19/2018 18:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 5
-
- },
- {
- 'Date': '3/20/2018 06:31:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 1
-
- },
- {
- 'Date': '2/19/2018 18:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1006,
- 'Sold': 1
-
- },
- {
- 'Date': '3/20/2018 06:31:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 5
-
- },
- {
- 'Date': '3/23/2018 05:33:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 4
-
- },
- {
- 'Date': '3/06/2018 06:31:20 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '5/04/2018 21:41:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '5/11/2018 21:45:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 5
-
- },
- {
- 'Date': '3/20/2018 06:31:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 4
-
- },
- {
- 'Date': '2/19/2018 18:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 2
-
- },
- {
- 'Date': '3/20/2018 06:31:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 1
-
- },
- {
- 'Date': '3/23/2018 05:33:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 1
-
- },
- {
- 'Date': '3/06/2018 06:31:20 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '5/04/2018 21:41:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '5/11/2018 21:45:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 2
-
- },
- {
- 'Date': '6/17/2018 07:09:27 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 4
-
- },
- {
- 'Date': '7/1/2018 03:47:38 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 2
-
- },
- {
- 'Date': '7/2/2018 05:47:38 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 5
-
- },
- {
- 'Date': '9/8/2018 11:50:17 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 2
-
- },
- {
- 'Date': '12/2/2018 16:05:33 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 1
-
- },
- {
- 'Date': '6/17/2018 07:09:27 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 2
-
- },
- {
- 'Date': '7/1/2018 03:47:38 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '7/2/2018 05:47:38 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 4
-
- },
- {
- 'Date': '9/8/2018 11:50:17 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 2
-
- },
- {
- 'Date': '12/2/2018 16:05:33 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 3
-
- }
-];
-
-let rData: Object[] = [
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 46,
- 'ProCost': 43
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 30,
- 'ProCost': 29
- },
- {
- 'Date': '3/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 125,
- 'ProCost': 96
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 215,
- 'ProCost': 123
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 263,
- 'ProCost': 125
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 61,
- 'ProCost': 50
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 20,
- 'ProCost': 31
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 133,
- 'ProCost': 110
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 33,
- 'ProCost': 65
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 37,
- 'ProCost': 20
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 109,
- 'ProCost': 96
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 266,
- 'ProCost': 139
- },
- {
- 'Date': '1/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 257,
- 'ProCost': 143
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 79,
- 'ProCost': 53
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 28,
- 'ProCost': 48
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 128,
- 'ProCost': 117
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 68,
- 'ProCost': 48
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 26,
- 'ProCost': 32
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 141,
- 'ProCost': 98
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 281,
- 'ProCost': 134
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 228,
- 'ProCost': 107
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 73,
- 'ProCost': 49
- },
- {
- 'Date': '11/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 19,
- 'ProCost': 44
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 149,
- 'ProCost': 82
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 47,
- 'ProCost': 58
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 25,
- 'ProCost': 40
- },
- {
- 'Date': '3/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 127,
- 'ProCost': 93
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 216,
- 'ProCost': 124
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 267,
- 'ProCost': 100
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 52,
- 'ProCost': 65
- },
- {
- 'Date': '7/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 39,
- 'ProCost': 33
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 142,
- 'ProCost': 97
- },
- {
- 'Date': '9/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 53,
- 'ProCost': 49
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 23,
- 'ProCost': 44
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 113,
- 'ProCost': 106
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 270,
- 'ProCost': 101
- },
- {
- 'Date': '1/1/2018',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 284,
- 'ProCost': 105
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 62,
- 'ProCost': 43
- },
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 32,
- 'ProCost': 26
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 133,
- 'ProCost': 83
- },
- {
- 'Date': '3/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 51,
- 'ProCost': 65
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 13,
- 'ProCost': 25
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 139,
- 'ProCost': 101
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 297,
- 'ProCost': 130
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 236,
- 'ProCost': 119
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 57,
- 'ProCost': 66
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 16,
- 'ProCost': 27
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 110,
- 'ProCost': 93
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 55,
- 'ProCost': 49
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 32,
- 'ProCost': 39
- },
- {
- 'Date': '1/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 128,
- 'ProCost': 120
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 290,
- 'ProCost': 128
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 201,
- 'ProCost': 105
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 55,
- 'ProCost': 46
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 20,
- 'ProCost': 37
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 122,
- 'ProCost': 118
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 69,
- 'ProCost': 54
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 21,
- 'ProCost': 41
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 140,
- 'ProCost': 83
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 239,
- 'ProCost': 121
- },
- {
- 'Date': '11/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 283,
- 'ProCost': 127
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 80,
- 'ProCost': 40
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 33,
- 'ProCost': 40
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 120,
- 'ProCost': 81
- },
- {
- 'Date': '3/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 41,
- 'ProCost': 69
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 14,
- 'ProCost': 21
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 144,
- 'ProCost': 93
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 294,
- 'ProCost': 146
- },
- {
- 'Date': '7/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 217,
- 'ProCost': 103
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 49,
- 'ProCost': 44
- },
- {
- 'Date': '9/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 36,
- 'ProCost': 21
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 118,
- 'ProCost': 115
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 56,
- 'ProCost': 41
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 17,
- 'ProCost': 36
- },
- {
- 'Date': '1/1/2018',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 140,
- 'ProCost': 81
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 274,
- 'ProCost': 109
- },
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 284,
- 'ProCost': 145
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 40,
- 'ProCost': 49
- },
- {
- 'Date': '3/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 12,
- 'ProCost': 28
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 150,
- 'ProCost': 115
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 73,
- 'ProCost': 64
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 23,
- 'ProCost': 47
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 102,
- 'ProCost': 112
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 252,
- 'ProCost': 112
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 222,
- 'ProCost': 131
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 52,
- 'ProCost': 46
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 35,
- 'ProCost': 30
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 104,
- 'ProCost': 101
- },
- {
- 'Date': '1/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 46,
- 'ProCost': 40
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 19,
- 'ProCost': 31
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 118,
- 'ProCost': 89
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 227,
- 'ProCost': 130
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 226,
- 'ProCost': 144
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 40,
- 'ProCost': 52
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 19,
- 'ProCost': 40
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 127,
- 'ProCost': 91
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 70,
- 'ProCost': 66
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 36,
- 'ProCost': 21
- },
- {
- 'Date': '11/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 144,
- 'ProCost': 85
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 212,
- 'ProCost': 130
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 210,
- 'ProCost': 110
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 72,
- 'ProCost': 56
- },
- {
- 'Date': '3/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 13,
- 'ProCost': 47
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 139,
- 'ProCost': 98
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 59,
- 'ProCost': 54
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 26,
- 'ProCost': 21
- },
- {
- 'Date': '7/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 120,
- 'ProCost': 97
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 299,
- 'ProCost': 124
- },
- {
- 'Date': '9/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 240,
- 'ProCost': 110
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 71,
- 'ProCost': 61
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 40,
- 'ProCost': 33
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 134,
- 'ProCost': 111
- },
- {
- 'Date': '1/1/2018',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 33,
- 'ProCost': 50
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 18,
- 'ProCost': 25
- },
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 139,
- 'ProCost': 85
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 217,
- 'ProCost': 141
- },
- {
- 'Date': '3/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 252,
- 'ProCost': 101
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 31,
- 'ProCost': 42
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 15,
- 'ProCost': 27
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 117,
- 'ProCost': 112
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 34,
- 'ProCost': 40
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 10,
- 'ProCost': 43
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 110,
- 'ProCost': 83
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 212,
- 'ProCost': 137
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 222,
- 'ProCost': 126
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 75,
- 'ProCost': 49
- },
- {
- 'Date': '1/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 31,
- 'ProCost': 37
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 105,
- 'ProCost': 98
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 72,
- 'ProCost': 45
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 20,
- 'ProCost': 45
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 143,
- 'ProCost': 92
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 272,
- 'ProCost': 128
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 208,
- 'ProCost': 136
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 48,
- 'ProCost': 46
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 22,
- 'ProCost': 27
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 150,
- 'ProCost': 100
- },
- {
- 'Date': '11/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 60,
- 'ProCost': 43
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 15,
- 'ProCost': 27
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 107,
- 'ProCost': 97
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 204,
- 'ProCost': 136
- },
- {
- 'Date': '3/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 210,
- 'ProCost': 111
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 65,
- 'ProCost': 47
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 26,
- 'ProCost': 45
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 112,
- 'ProCost': 115
- },
- {
- 'Date': '7/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 54,
- 'ProCost': 66
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 31,
- 'ProCost': 36
- },
- {
- 'Date': '9/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 120,
- 'ProCost': 112
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 261,
- 'ProCost': 149
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 226,
- 'ProCost': 124
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 72,
- 'ProCost': 63
- },
- {
- 'Date': '1/1/2018',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 35,
- 'ProCost': 33
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 144,
- 'ProCost': 118
- },
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 293,
- 'ProCost': 118
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 237,
- 'ProCost': 110
- },
- {
- 'Date': '3/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 36,
- 'ProCost': 50
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 20,
- 'ProCost': 36
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 120,
- 'ProCost': 95
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 46,
- 'ProCost': 59
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 31,
- 'ProCost': 33
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 147,
- 'ProCost': 96
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 230,
- 'ProCost': 100
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 236,
- 'ProCost': 104
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 60,
- 'ProCost': 57
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 33,
- 'ProCost': 41
- },
- {
- 'Date': '1/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 140,
- 'ProCost': 105
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 31,
- 'ProCost': 55
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 20,
- 'ProCost': 30
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 117,
- 'ProCost': 106
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 259,
- 'ProCost': 127
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 294,
- 'ProCost': 126
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 51,
- 'ProCost': 63
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 21,
- 'ProCost': 45
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 102,
- 'ProCost': 108
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 77,
- 'ProCost': 64
- },
- {
- 'Date': '11/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 29,
- 'ProCost': 26
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 140,
- 'ProCost': 88
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 244,
- 'ProCost': 144
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 213,
- 'ProCost': 127
- },
- {
- 'Date': '3/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 69,
- 'ProCost': 40
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 30,
- 'ProCost': 33
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 116,
- 'ProCost': 103
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 79,
- 'ProCost': 47
- },
- {
- 'Date': '7/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 29,
- 'ProCost': 37
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 116,
- 'ProCost': 96
- },
- {
- 'Date': '9/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 295,
- 'ProCost': 108
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 225,
- 'ProCost': 127
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 35,
- 'ProCost': 57
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 37,
- 'ProCost': 49
- },
- {
- 'Date': '1/1/2018',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 138,
- 'ProCost': 118
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 80,
- 'ProCost': 47
- },
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 22,
- 'ProCost': 42
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 131,
- 'ProCost': 91
- },
- {
- 'Date': '3/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 240,
- 'ProCost': 115
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 275,
- 'ProCost': 109
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 46,
- 'ProCost': 42
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 40,
- 'ProCost': 43
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 112,
- 'ProCost': 105
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 35,
- 'ProCost': 40
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 22,
- 'ProCost': 31
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 119,
- 'ProCost': 87
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 298,
- 'ProCost': 148
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 200,
- 'ProCost': 107
- },
- {
- 'Date': '1/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 30,
- 'ProCost': 42
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 22,
- 'ProCost': 49
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 148,
- 'ProCost': 88
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 37,
- 'ProCost': 49
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 23,
- 'ProCost': 29
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 130,
- 'ProCost': 102
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 281,
- 'ProCost': 129
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 228,
- 'ProCost': 113
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 80,
- 'ProCost': 60
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 39,
- 'ProCost': 27
- },
- {
- 'Date': '11/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 119,
- 'ProCost': 93
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 42,
- 'ProCost': 46
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 18,
- 'ProCost': 37
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 126,
- 'ProCost': 96
- },
- {
- 'Date': '3/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 222,
- 'ProCost': 150
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 228,
- 'ProCost': 105
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 54,
- 'ProCost': 49
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 16,
- 'ProCost': 33
- },
- {
- 'Date': '7/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 145,
- 'ProCost': 110
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 35,
- 'ProCost': 41
- },
- {
- 'Date': '9/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 16,
- 'ProCost': 38
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 118,
- 'ProCost': 114
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 241,
- 'ProCost': 110
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 281,
- 'ProCost': 136
- },
- {
- 'Date': '1/1/2018',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 50,
- 'ProCost': 66
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 23,
- 'ProCost': 26
- },
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 129,
- 'ProCost': 98
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 78,
- 'ProCost': 53
- },
- {
- 'Date': '3/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 28,
- 'ProCost': 31
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 147,
- 'ProCost': 120
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 240,
- 'ProCost': 100
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 232,
- 'ProCost': 116
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 33,
- 'ProCost': 49
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 18,
- 'ProCost': 36
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 114,
- 'ProCost': 113
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 52,
- 'ProCost': 63
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 31,
- 'ProCost': 25
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 129,
- 'ProCost': 88
- },
- {
- 'Date': '1/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 263,
- 'ProCost': 111
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 241,
- 'ProCost': 105
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 55,
- 'ProCost': 60
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 13,
- 'ProCost': 30
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 134,
- 'ProCost': 107
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 33,
- 'ProCost': 69
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 20,
- 'ProCost': 31
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 146,
- 'ProCost': 109
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 241,
- 'ProCost': 107
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 10,
- 'ProCost': 30
- },
- {
- 'Date': '11/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 38,
- 'ProCost': 65
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 6,
- 'ProCost': 24
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 72,
- 'ProCost': 86
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 13,
- 'ProCost': 20
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 34,
- 'ProCost': 54
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 5,
- 'ProCost': 20
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 12,
- 'ProCost': 26
- },
- {
- 'Date': '9/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 48,
- 'ProCost': 57
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 8,
- 'ProCost': 29
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 61,
- 'ProCost': 97
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 19,
- 'ProCost': 29
- },
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 40,
- 'ProCost': 47
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 7,
- 'ProCost': 27
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 20,
- 'ProCost': 24
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 45,
- 'ProCost': 42
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 4,
- 'ProCost': 25
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 72,
- 'ProCost': 82
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 19,
- 'ProCost': 29
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 32,
- 'ProCost': 42
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 5,
- 'ProCost': 20
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 20,
- 'ProCost': 25
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 43,
- 'ProCost': 66
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 8,
- 'ProCost': 26
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 86,
- 'ProCost': 87
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 16,
- 'ProCost': 22
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 43,
- 'ProCost': 54
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 6,
- 'ProCost': 22
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 15,
- 'ProCost': 20
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 40,
- 'ProCost': 55
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 3,
- 'ProCost': 24
- },
- {
- 'Date': '3/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 60,
- 'ProCost': 87
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 12,
- 'ProCost': 29
- },
- {
- 'Date': '7/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 37,
- 'ProCost': 50
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 3,
- 'ProCost': 20
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 17,
- 'ProCost': 21
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 38,
- 'ProCost': 53
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 8,
- 'ProCost': 27
- },
- {
- 'Date': '1/1/2018',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 88,
- 'ProCost': 92
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 14,
- 'ProCost': 22
- },
- {
- 'Date': '3/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 31,
- 'ProCost': 69
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 2,
- 'ProCost': 22
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 16,
- 'ProCost': 29
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 35,
- 'ProCost': 54
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 7,
- 'ProCost': 24
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 79,
- 'ProCost': 82
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 10,
- 'ProCost': 29
- },
- {
- 'Date': '1/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 50,
- 'ProCost': 65
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 5,
- 'ProCost': 25
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 17,
- 'ProCost': 28
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 46,
- 'ProCost': 54
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 7,
- 'ProCost': 27
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 63,
- 'ProCost': 84
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 19,
- 'ProCost': 28
- },
- {
- 'Date': '11/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 47,
- 'ProCost': 52
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 8,
- 'ProCost': 23
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 20,
- 'ProCost': 28
- },
- {
- 'Date': '3/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 40,
- 'ProCost': 55
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 7,
- 'ProCost': 27
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 67,
- 'ProCost': 88
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 20,
- 'ProCost': 29
- },
- {
- 'Date': '9/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 38,
- 'ProCost': 61
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 7,
- 'ProCost': 21
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 11,
- 'ProCost': 26
- },
- {
- 'Date': '1/1/2018',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 36,
- 'ProCost': 60
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 2,
- 'ProCost': 24
- },
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 83,
- 'ProCost': 90
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 11,
- 'ProCost': 27
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 49,
- 'ProCost': 42
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 7,
- 'ProCost': 28
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 13,
- 'ProCost': 25
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 30,
- 'ProCost': 49
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 4,
- 'ProCost': 26
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 76,
- 'ProCost': 87
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 19,
- 'ProCost': 27
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 45,
- 'ProCost': 55
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 1,
- 'ProCost': 23
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 20,
- 'ProCost': 23
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 34,
- 'ProCost': 51
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 3,
- 'ProCost': 28
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 85,
- 'ProCost': 80
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 20,
- 'ProCost': 22
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 40,
- 'ProCost': 51
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 7,
- 'ProCost': 25
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 15,
- 'ProCost': 21
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 36,
- 'ProCost': 41
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 1,
- 'ProCost': 27
- },
- {
- 'Date': '7/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 79,
- 'ProCost': 93
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 11,
- 'ProCost': 28
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 41,
- 'ProCost': 51
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 8,
- 'ProCost': 28
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 20,
- 'ProCost': 23
- }
-]
-
-export let Group_Data: Object[] = getGroupData(gData);
-
-function getGroupData(data: any): Object[] {
- let date: Date;
- let products: string[] = ['', 'Bottles and Cages', 'Cleaners', 'Fenders', 'Mountain Bikes', 'Road Bikes', 'Touring Bikes', 'Gloves', 'Jerseys', 'Shorts', 'Vests'];
- let amount: number[] = [0, 2, 3, 8, 60, 75, 65, 3, 5, 4, 2]
- for (let ln: number = 0, lt: number = data.length; ln < lt; ln++) {
- date = new Date(data[ln].Date.toString());
- data[ln].Date = date.toString();
- data[ln].Products = products[data[ln].Product_ID - 1000];
- data[ln].Sold = data[ln].Sold * (date.getFullYear() === 2015 ? 3 : date.getFullYear() === 2016 ? 4 : date.getFullYear() === 2017 ? 2 : 5);
- data[ln].Amount = ((date.getFullYear() === 2018 ? 2 : 0) + data[ln].Sold) * amount[data[ln].Product_ID - 1000];
- }
- return data as Object[];
-}
-
-export let renewableEnergy: Object[] = getClassDate(rData);
-
-function getClassDate(data: Object[]): Object[] {
- let date: Date;
- for (let ln: number = 0, lt: number = data.length; ln < lt; ln++) {
- date = new Date((data[ln] as any)['Date'].toString());
- let dtYr: number = date.getFullYear();
- let dtMn: number = date.getMonth();
- let dtdv: number = (dtMn + 1) / 3;
- (data[ln] as any)['Year'] = 'FY ' + dtYr;
- (data[ln] as any)['Quarter'] = dtdv <= 1 ? 'Q1 ' + ('FY ' + dtYr) : dtdv <= 2 ? 'Q2 ' + ('FY ' + dtYr) :
- dtdv <= 3 ? 'Q3 ' + ('FY ' + dtYr) : 'Q4 ' + ('FY ' + dtYr);
- (data[ln] as any)['HalfYear'] = (dtMn + 1) / 6 <= 1 ? 'H1 ' + ('FY ' + dtYr) : 'H2' + ('FY ' + dtYr);
- delete ((data[ln] as any)['Date']);
- }
- return data;
-}
-
-export let pivot_flatdata: { [key: string]: Object }[] = [
- { Amount: 2100, Country: "Canada", Date: "FY 2005", Product: "Bike", Quantity: 22, State: "Alberta" },
- { Amount: 1100, Country: "Canada", Date: "FY 2008", Product: "Bike", Quantity: 32, State: "Alberta" },
- { Amount: 3100, Country: "Canada", Date: "FY 2005", Product: "Van", Quantity: 22, State: "Alberta" },
- { Amount: 1600, Country: "Canada", Date: "FY 2006", Product: "Van", Quantity: 32, State: "Alberta" },
- { Amount: 1500, Country: "Canada", Date: "FY 2008", Product: "Van", Quantity: 28, State: "Alberta" },
- { Amount: 1060, Country: "Canada", Date: "FY 2005", Product: "Car", Quantity: 26, State: "Alberta" },
- { Amount: 5100, Country: "Canada", Date: "FY 2006", Product: "Car", Quantity: 21, State: "Alberta" },
- { Amount: 1900, Country: "Canada", Date: "FY 2007", Product: "Car", Quantity: 23, State: "Alberta" },
- { Amount: 1000, Country: "Canada", Date: "FY 2008", Product: "Car", Quantity: 29, State: "Alberta" },
- { Amount: 3100, Country: "Canada", Date: "FY 2006", Product: "Bike", Quantity: 40, State: "Quebec" },
- { Amount: 1500, Country: "Canada", Date: "FY 2007", Product: "Bike", Quantity: 14, State: "Quebec" },
- { Amount: 2000, Country: "Canada", Date: "FY 2007", Product: "Van", Quantity: 82, State: "Quebec" },
- { Amount: 4800, Country: "France", Date: "FY 2005", Product: "Car", Quantity: 49, State: "Charente-Maritime" },
- { Amount: 8200, Country: "France", Date: "FY 2006", Product: "Car", Quantity: 38, State: "Charente-Maritime" },
- { Amount: 8100, Country: "France", Date: "FY 2006", Product: "Van", Quantity: 93, State: "Charente-Maritime" },
- { Amount: 9100, Country: "France", Date: "FY 2007", Product: "Car", Quantity: 64, State: "Charente-Maritime" },
- { Amount: 2350, Country: "France", Date: "FY 2006", Product: "Bike", Quantity: 46, State: "Essonne" },
- { Amount: 7250, Country: "France", Date: "FY 2005", Product: "Van", Quantity: 43, State: "Gers" },
- { Amount: 9450, Country: "France", Date: "FY 2005", Product: "Bike", Quantity: 49, State: "Gers" },
- { Amount: 1450, Country: "France", Date: "FY 2008", Product: "Bike", Quantity: 49, State: "Gers" },
- { Amount: 1450, Country: "United States", Date: "FY 2008", Product: "Car", Quantity: 49, State: "Gers" },
- { Amount: 4250, Country: "France", Date: "FY 2007", Product: "Van", Quantity: 49, State: "Gers" },
- { Amount: 4050, Country: "France", Date: "FY 2007", Product: "Bike", Quantity: 59, State: "Gers" },
- { Amount: 4350, Country: "France", Date: "FY 2008", Product: "Van", Quantity: 23, State: "Gers" },
- { Amount: 4950, Country: "France", Date: "FY 2008", Product: "Car", Quantity: 45, State: "Gers" },
- { Amount: 3400, Country: "Germany", Date: "FY 2005", Product: "Van", Quantity: 78, State: "Bayern" },
- { Amount: 8400, Country: "Germany", Date: "FY 2006", Product: "Van", Quantity: 90, State: "Bayern" },
- { Amount: 9400, Country: "Germany", Date: "FY 2007", Product: "Car", Quantity: 45, State: "Bayern" },
- { Amount: 7200, Country: "Germany", Date: "FY 2008", Product: "Van", Quantity: 92, State: "Bayern" },
- { Amount: 3400, Country: "Germany", Date: "FY 2008", Product: "Bike", Quantity: 24, State: "Bayern" },
- { Amount: 5330, Country: "Germany", Date: "FY 2005", Product: "Car", Quantity: 45, State: "Hamburg" },
- { Amount: 5900, Country: "Germany", Date: "FY 2005", Product: "Bike", Quantity: 20, State: "Saarland" },
- { Amount: 5800, Country: "Germany", Date: "FY 2006", Product: "Bike", Quantity: 58, State: "Saarland" },
- { Amount: 5700, Country: "Germany", Date: "FY 2006", Product: "Car", Quantity: 39, State: "Saarland" },
- { Amount: 8500, Country: "Germany", Date: "FY 2007", Product: "Bike", Quantity: 62, State: "Saarland" },
- { Amount: 2300, Country: "Germany", Date: "FY 2007", Product: "Van", Quantity: 49, State: "Saarland" },
- { Amount: 5200, Country: "Germany", Date: "FY 2008", Product: "Car", Quantity: 48, State: "Saarland" },
- { Amount: 1040, Country: "United Kingdom", Date: "FY 2005", Product: "Bike", Quantity: 47, State: "England" },
- { Amount: 1450, Country: "United Kingdom", Date: "FY 2005", Product: "Car", Quantity: 42, State: "England" },
- { Amount: 5150, Country: "United Kingdom", Date: "FY 2005", Product: "Van", Quantity: 53, State: "England" },
- { Amount: 1500, Country: "United Kingdom", Date: "FY 2006", Product: "Bike", Quantity: 24, State: "England" },
- { Amount: 7430, Country: "United Kingdom", Date: "FY 2006", Product: "Car", Quantity: 56, State: "England" },
- { Amount: 4720, Country: "United Kingdom", Date: "FY 2006", Product: "Van", Quantity: 50, State: "England" },
- { Amount: 3480, Country: "United Kingdom", Date: "FY 2007", Product: "Bike", Quantity: 45, State: "England" },
- { Amount: 3380, Country: "United Kingdom", Date: "FY 2007", Product: "Car", Quantity: 75, State: "England" },
- { Amount: 5820, Country: "United Kingdom", Date: "FY 2007", Product: "Van", Quantity: 39, State: "England" },
- { Amount: 2820, Country: "United States", Date: "FY 2007", Product: "Car", Quantity: 39, State: "England" },
- { Amount: 4820, Country: "United Kingdom", Date: "FY 2008", Product: "Bike", Quantity: 72, State: "England" },
- { Amount: 1520, Country: "United Kingdom", Date: "FY 2008", Product: "Car", Quantity: 93, State: "England" },
- { Amount: 1450, Country: "United Kingdom", Date: "FY 2008", Product: "Van", Quantity: 84, State: "England" },
- { Amount: 4930, Country: "United States", Date: "FY 2006", Product: "Van", Quantity: 59, State: "Alabama" },
- { Amount: 6250, Country: "United States", Date: "FY 2008", Product: "Bike", Quantity: 94, State: "Alabama" },
- { Amount: 1520, Country: "United States", Date: "FY 2006", Product: "Bike", Quantity: 53, State: "North Carolina" },
- { Amount: 150, Country: "United States", Date: "FY 2008", Product: "Van", Quantity: 61, State: "North Carolina" },
- { Amount: 3200, Country: "United States", Date: "FY 2005", Product: "Bike", Quantity: 47, State: "South Carolina" },
- { Amount: 3320, Country: "United States", Date: "FY 2005", Product: "Car", Quantity: 49, State: "South Carolina" },
- { Amount: 6300, Country: "United States", Date: "FY 2005", Product: "Van", Quantity: 45, State: "South Carolina" },
- { Amount: 4300, Country: "United States", Date: "FY 2006", Product: "Car", Quantity: 94, State: "South Carolina" },
- { Amount: 7200, Country: "United States", Date: "FY 2007", Product: "Bike", Quantity: 40, State: "South Carolina" },
- { Amount: 3900, Country: "United States", Date: "FY 2007", Product: "Van", Quantity: 43, State: "South Carolina" },
- ];
-
- export let alphanumeric_data: object[] = [
- {
- "ProductID": "618-XW",
- "Country": "Canada",
- "Sold": 90,
- "Amount": 9219069
-
- },
- {
- "ProductID": "1111-GQ",
- "Sold": 37,
- "Amount": 1571126,
- "Country": "Australia"
- },
- {
- "ProductID": "330-BR",
- "Sold": 31,
- "Amount": 9523258,
- "Country": "Germany"
- },
- {
- "ProductID": "1035-VC",
- "Sold": 86,
- "Amount": 1004572,
- "Country": "United States"
- },
- {
- "ProductID": "36-SW",
- "Sold": 73,
- "Amount": 4532163,
- "Country": "United Kingdom"
- },
- {
- "ProductID": "71-AJ",
- "Sold": 45,
- "Amount": 1916052,
- "Country": "Germany"
- },
- {
- "ProductID": "980-PP",
- "Sold": 85,
- "Amount": 6586156,
- "Country": "Canada"
- },
- {
- "ProductID": "209-FB",
- "Sold": 51,
- "Amount": 6348087,
- "Country": "Australia"
- },
- {
- "ProductID": "428-PL",
- "Sold": 65,
- "Amount": 1365854,
- "Country": "Germany"
- },
- {
- "ProductID": "618-XW",
- "Sold": 81,
- "Amount": 6461768,
- "Country": "United States"
- },
- {
- "ProductID": "1111-GQ",
- "Sold": 33,
- "Amount": 6181560,
- "Country": "United Kingdom"
- },
- {
- "ProductID": "330-BR",
- "Sold": 17,
- "Amount": 611364,
- "Country": "Germany"
- },
- {
- "ProductID": "1035-VC",
- "Sold": 41,
- "Amount": 3688930,
- "Country": "Canada"
- },
- {
- "ProductID": "36-SW",
- "Sold": 51,
- "Amount": 4648920,
- "Country": "Australia"
- },
- {
- "ProductID": "71-AJ",
- "Sold": 56,
- "Amount": 4579862,
- "Country": "Germany"
- },
- {
- "ProductID": "980-PP",
- "Sold": 25,
- "Amount": 1249117,
- "Country": "United States"
- },
- {
- "ProductID": "209-FB",
- "Sold": 60,
- "Amount": 9603891,
- "Country": "United Kingdom"
- },
- {
- "ProductID": "428-PL",
- "Sold": 31,
- "Amount": 9548655,
- "Country": "Canada"
- },
- {
- "ProductID": "618-XW",
- "Sold": 93,
- "Amount": 7496742,
- "Country": "Australia"
- },
- {
- "ProductID": "1111-GQ",
- "Sold": 62,
- "Amount": 8692814,
- "Country": "Germany"
- },
- {
- "ProductID": "330-BR",
- "Sold": 22,
- "Amount": 4789234,
- "Country": "United States"
- },
- {
- "ProductID": "1035-VC",
- "Sold": 61,
- "Amount": 7927531,
- "Country": "United Kingdom"
- },
- {
- "ProductID": "36-SW",
- "Sold": 68,
- "Amount": 5440025,
- "Country": "Germany"
- },
- {
- "ProductID": "71-AJ",
- "Sold": 87,
- "Amount": 8097913,
- "Country": "Canada"
- },
- {
- "ProductID": "980-PP",
- "Sold": 87,
- "Amount": 1809071,
- "Country": "Australia"
- },
- {
- "ProductID": "209-FB",
- "Sold": 96,
- "Amount": 9893092,
- "Country": "Germany"
- },
- {
- "ProductID": "428-PL",
- "Sold": 22,
- "Amount": 8136252,
- "Country": "United States"
- },
- {
- "ProductID": "618-XW",
- "Sold": 29,
- "Amount": 9190577,
- "Country": "United Kingdom"
- },
- {
- "ProductID": "1111-GQ",
- "Sold": 85,
- "Amount": 5410172,
- "Country": "Germany"
- }
- ];
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs321/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs321/src/app.component.ts
index 2d329f8ae29..ae143cf7078 100644
--- a/ej2-angular/code-snippet/pivot-grid/getting-started-cs321/src/app.component.ts
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs321/src/app.component.ts
@@ -1,43 +1,37 @@
import { NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
import { PivotViewAllModule, PivotFieldListAllModule } from '@syncfusion/ej2-angular-pivotview'
-
+import { GridSettings } from '@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings';
import { Component, OnInit, ViewChild } from '@angular/core';
-import { PivotView, VirtualScrollService, PDFExportService, IDataSet } from '@syncfusion/ej2-angular-pivotview';
+import { PivotView, VirtualScrollService, PDFExportService, IDataSet } from '@syncfusion/ej2-angular-pivotview';
import { Button } from '@syncfusion/ej2-buttons';
import { Pivot_Data } from './datasource';
import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model';
+import { Observable } from 'rxjs';
@Component({
-imports: [
-
+ imports: [
PivotViewAllModule,
PivotFieldListAllModule
],
-
-
-standalone: true,
- selector: 'app-container',
- providers: [PDFExportService,VirtualScrollService],
- template: `
+ standalone: true,
+ selector: 'app-container',
+ providers: [PDFExportService, VirtualScrollService],
+ template: `
+ enableVirtualization='true' [width]=width [gridSettings]='gridSettings'>
Export
`
})
export class AppComponent implements OnInit {
public width?: string;
public dataSourceSettings?: DataSourceSettingsModel;
public button?: Button;
+ public gridSettings?: GridSettings;
+ public observable = new Observable();
- @ViewChild('pivotview', {static: false})
+ @ViewChild('pivotview', { static: false })
public pivotGridObj?: PivotView;
- onPdfCellRender(args: any) {
- if (args.pivotCell && args.pivotCell.valueSort && args.pivotCell.valueSort.levelName === 'France.Mountain Bikes') {
- args.cell.height = 30
- }
- }
-
ngOnInit(): void {
this.dataSourceSettings = {
@@ -51,16 +45,22 @@ export class AppComponent implements OnInit {
filters: [],
};
+ this.gridSettings = {
+ columnWidth: 140,
+ pdfQueryCellInfo: this.observable.subscribe((args: any) => {
+ if (args.data && args.data.rowHeaders === 'France.Bottles and Cages' && args.cell && args.cell.gridRow) {
+ args.cell.gridRow.height = 100;
+ }
+ }) as any,
+ } as GridSettings;
+
this.width = '100%';
this.button = new Button({ isPrimary: true });
this.button.appendTo('#export');
this.button.element.onclick = (): void => {
- this.pivotGridObj?.pdfExport({},false,undefined,false,true);
+ this.pivotGridObj?.pdfExport();
};
}
}
-
-
-
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs321/src/datasource.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs321/src/datasource.ts
index 5a2203726bf..7fe85f598fa 100644
--- a/ej2-angular/code-snippet/pivot-grid/getting-started-cs321/src/datasource.ts
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs321/src/datasource.ts
@@ -1,4 +1,3 @@
-export let base64AlgeriaFont: string = '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AAAAAAADAAgAIwABAAAAAAAEAAgAIwABAAAAAAAFAAwAMgABAAAAAAAGAAgAIwADAAEEBgACAAwAPgADAAEEBgAEABAASgADAAEEBwACABAAWgADAAEEBwAEABAASgADAAEECQAAAEYAagADAAEECQABABAASgADAAEECQACAA4AsAADAAEECQADABAASgADAAEECQAEABAASgADAAEECQAFABgAvgADAAEECQAGABAASgADAAEECgACAAwA1gADAAEECgAEABAASgADAAEECwACABAA4gADAAEECwAEABAASgADAAEEDAACAAwA1gADAAEEDAAEABAASgADAAEEEAACAA4A8gADAAEEEAAEABAASgADAAEEEwACABIBAAADAAEEEwAEABAASgADAAEEFAACAAwA1gADAAEEFAAEABAASgADAAEEHQACAAwA1gADAAEEHQAEABAASgADAAEIFgACAAwA1gADAAEIFgAEABAASgADAAEMCgACAAwA1gADAAEMCgAEABAASgADAAEMDAACAAwA1gADAAEMDAAEABAASlVSVyBTb2Z0d2FyZSwgQ29weXJpZ2h0IDE5OTMgYnkgVVJXQWxnZXJpYW5SZWd1bGFyVmVyc2lvbiAxLjU3AG4AbwByAG0AYQBsAEEAbABnAGUAcgBpAGEAbgBTAHQAYQBuAGQAYQByAGQAVQBSAFcAIABTAG8AZgB0AHcAYQByAGUALAAgAEMAbwBwAHkAcgBpAGcAaAB0ACAAMQA5ADkAMwAgAGIAeQAgAFUAUgBXAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgA1ADcATgBvAHIAbQBhAGwATgBvAHIAbQBhAGEAbABpAE4AbwByAG0AYQBsAGUAUwB0AGEAbgBkAGEAYQByAGQAAgAAAAAAAP8OAHUAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAABAgEDAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBeAF8AYABhAGIAYwBkAGUAZgBnAGgAggCDAIQAhQCGAIcAiACK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';
export let Pivot_Data: Object[] =
[{ 'In_Stock': 34, 'Sold': 51, 'Amount': 383, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
{ 'In_Stock': 4, 'Sold': 423, 'Amount': 3595.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
@@ -2392,3991 +2391,3 @@ export let Pivot_Data: Object[] =
{ 'In_Stock': 13, 'Sold': 392, 'Amount': 5989.76, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
{ 'In_Stock': 9, 'Sold': 426, 'Amount': 4686, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' }];
-export let csvdata: string = "Region,Country,Item Type,Sales Channel,Order Priority,Order Date,Order ID,Ship Date,Units Sold,Unit Price,Unit Cost,Total Revenue,Total Cost,Total Profit\r\nMiddle East and North Africa,Libya,Cosmetics,Offline,M,10/18/2014,686800706,10/31/2014,8446,437.20,263.33,3692591.20,2224085.18,1468506.02\r\nNorth America,Canada,Vegetables,Online,M,11/7/2011,185941302,12/8/2011,3018,154.06,90.93,464953.08,274426.74,190526.34\r\nMiddle East and North Africa,Libya,Baby Food,Offline,C,10/31/2016,246222341,12/9/2016,1517,255.28,159.42,387259.76,241840.14,145419.62\r\nAsia,Japan,Cereal,Offline,C,4/10/2010,161442649,5/12/2010,3322,205.70,117.11,683335.40,389039.42,294295.98\r\nSub-Saharan Africa,Chad,Fruits,Offline,H,8/16/2011,645713555,8/31/2011,9845,9.33,6.92,91853.85,68127.40,23726.45\r\nEurope,Armenia,Cereal,Online,H,11/24/2014,683458888,12/28/2014,9528,205.70,117.11,1959909.60,1115824.08,844085.52\r\nSub-Saharan Africa,Eritrea,Cereal,Online,H,3/4/2015,679414975,4/17/2015,2844,205.70,117.11,585010.80,333060.84,251949.96\r\nEurope,Montenegro,Clothes,Offline,M,5/17/2012,208630645,6/28/2012,7299,109.28,35.84,797634.72,261596.16,536038.56\r\nCentral America and the Caribbean,Jamaica,Vegetables,Online,H,1/29/2015,266467225,3/7/2015,2428,154.06,90.93,374057.68,220778.04,153279.64\r\nAustralia and Oceania,Fiji,Vegetables,Offline,H,12/24/2013,118598544,1/19/2014,4800,154.06,90.93,739488.00,436464.00,303024.00\r\nSub-Saharan Africa,Togo,Clothes,Online,M,12/29/2015,451010930,1/19/2016,3012,109.28,35.84,329151.36,107950.08,221201.28\r\nEurope,Montenegro,Snacks,Offline,M,2/27/2010,220003211,3/18/2010,2694,152.58,97.44,411050.52,262503.36,148547.16\r\nEurope,Greece,Household,Online,C,11/17/2016,702186715,12/22/2016,1508,668.27,502.54,1007751.16,757830.32,249920.84\r\nSub-Saharan Africa,Sudan,Cosmetics,Online,C,12/20/2015,544485270,1/5/2016,4146,437.20,263.33,1812631.20,1091766.18,720865.02\r\nAsia,Maldives,Fruits,Offline,L,1/8/2011,714135205,2/6/2011,7332,9.33,6.92,68407.56,50737.44,17670.12\r\nEurope,Montenegro,Clothes,Offline,H,6/28/2010,448685348,7/22/2010,4820,109.28,35.84,526729.60,172748.80,353980.80\r\nEurope,Estonia,Office Supplies,Online,H,4/25/2016,405997025,5/12/2016,2397,651.21,524.96,1560950.37,1258329.12,302621.25\r\nNorth America,Greenland,Beverages,Online,M,7/27/2012,414244067,8/7/2012,2880,47.45,31.79,136656.00,91555.20,45100.80\r\nSub-Saharan Africa,Cape Verde,Clothes,Online,C,9/8/2014,821912801,10/3/2014,1117,109.28,35.84,122065.76,40033.28,82032.48\r\nSub-Saharan Africa,Senegal,Household,Offline,L,8/27/2012,247802054,9/8/2012,8989,668.27,502.54,6007079.03,4517332.06,1489746.97\r\nAustralia and Oceania,Federated States of Micronesia,Snacks,Online,C,9/3/2012,531023156,10/15/2012,407,152.58,97.44,62100.06,39658.08,22441.98\r\nEurope,Bulgaria,Clothes,Online,L,8/27/2010,880999934,9/16/2010,6313,109.28,35.84,689884.64,226257.92,463626.72\r\nMiddle East and North Africa,Algeria,Personal Care,Online,H,2/20/2011,127468717,3/9/2011,9681,81.73,56.67,791228.13,548622.27,242605.86\r\nAsia,Mongolia,Clothes,Online,L,12/12/2015,770478332,1/24/2016,515,109.28,35.84,56279.20,18457.60,37821.60\r\nCentral America and the Caribbean,Grenada,Cereal,Online,H,10/28/2012,430390107,11/13/2012,852,205.70,117.11,175256.40,99777.72,75478.68\r\nCentral America and the Caribbean,Grenada,Beverages,Online,M,1/30/2017,397877871,3/20/2017,9759,47.45,31.79,463064.55,310238.61,152825.94\r\nSub-Saharan Africa,Senegal,Beverages,Offline,M,10/22/2014,683927953,11/4/2014,8334,47.45,31.79,395448.30,264937.86,130510.44\r\nNorth America,Greenland,Fruits,Offline,M,1/31/2012,469839179,2/22/2012,4709,9.33,6.92,43934.97,32586.28,11348.69\r\nSub-Saharan Africa,Chad,Meat,Offline,H,1/20/2016,357222878,3/9/2016,9043,421.89,364.69,3815151.27,3297891.67,517259.60\r\nSub-Saharan Africa,Mauritius ,Personal Care,Online,C,1/1/2016,118002879,1/7/2016,8529,81.73,56.67,697075.17,483338.43,213736.74\r\nMiddle East and North Africa,Morocco,Beverages,Offline,C,6/1/2017,944415509,6/23/2017,2391,47.45,31.79,113452.95,76009.89,37443.06\r\nCentral America and the Caribbean,Honduras,Office Supplies,Online,H,6/30/2015,499009597,7/9/2015,6884,651.21,524.96,4482929.64,3613824.64,869105.00\r\nSub-Saharan Africa,Benin,Fruits,Online,L,1/28/2014,564646470,3/16/2014,293,9.33,6.92,2733.69,2027.56,706.13\r\nEurope,Greece,Baby Food,Offline,M,4/8/2014,294499957,4/8/2014,7937,255.28,159.42,2026157.36,1265316.54,760840.82\r\nCentral America and the Caribbean,Jamaica,Beverages,Offline,L,9/4/2010,262056386,10/24/2010,7163,47.45,31.79,339884.35,227711.77,112172.58\r\nSub-Saharan Africa,Equatorial Guinea,Office Supplies,Online,M,5/2/2010,211114585,5/14/2010,2352,651.21,524.96,1531645.92,1234705.92,296940.00\r\nSub-Saharan Africa,Swaziland,Office Supplies,Offline,H,10/3/2013,405785882,10/22/2013,9915,651.21,524.96,6456747.15,5204978.40,1251768.75\r\nCentral America and the Caribbean,Trinidad and Tobago,Vegetables,Offline,M,3/6/2011,280494105,4/14/2011,3294,154.06,90.93,507473.64,299523.42,207950.22\r\nEurope,Sweden,Baby Food,Online,L,8/7/2016,689975583,8/12/2016,7963,255.28,159.42,2032794.64,1269461.46,763333.18\r\nEurope,Belarus,Office Supplies,Online,L,1/11/2011,759279143,2/18/2011,6426,651.21,524.96,4184675.46,3373392.96,811282.50\r\nSub-Saharan Africa,Guinea-Bissau,Office Supplies,Offline,C,5/21/2014,133766114,6/12/2014,3221,651.21,524.96,2097547.41,1690896.16,406651.25\r\nAsia,Mongolia,Beverages,Online,M,8/3/2013,329110324,9/2/2013,9913,47.45,31.79,470371.85,315134.27,155237.58\r\nMiddle East and North Africa,Turkey,Meat,Online,L,10/5/2011,681298100,11/20/2011,103,421.89,364.69,43454.67,37563.07,5891.60\r\nSub-Saharan Africa,Central African Republic,Snacks,Offline,L,11/15/2016,596628272,12/30/2016,4419,152.58,97.44,674251.02,430587.36,243663.66\r\nSub-Saharan Africa,Equatorial Guinea,Office Supplies,Offline,L,4/3/2015,901712167,4/17/2015,5523,651.21,524.96,3596632.83,2899354.08,697278.75\r\nAsia,Laos,Beverages,Online,M,3/22/2013,693473613,4/21/2013,3107,47.45,31.79,147427.15,98771.53,48655.62\r\nEurope,Armenia,Meat,Online,C,8/2/2010,489148938,9/1/2010,8896,421.89,364.69,3753133.44,3244282.24,508851.20\r\nEurope,Greece,Household,Online,L,1/5/2012,876286971,2/15/2012,1643,668.27,502.54,1097967.61,825673.22,272294.39\r\nMiddle East and North Africa,Israel,Personal Care,Offline,H,8/26/2015,262749040,8/30/2015,2135,81.73,56.67,174493.55,120990.45,53503.10\r\nAsia,Bhutan,Meat,Online,H,12/9/2016,726708972,1/26/2017,8189,421.89,364.69,3454857.21,2986446.41,468410.80\r\nAustralia and Oceania,Vanuatu,Vegetables,Online,L,5/17/2012,366653096,5/31/2012,9654,154.06,90.93,1487295.24,877838.22,609457.02\r\nSub-Saharan Africa,Burundi,Vegetables,Online,M,11/17/2010,951380240,12/20/2010,3410,154.06,90.93,525344.60,310071.30,215273.30\r\nEurope,Ukraine,Cosmetics,Online,M,11/13/2014,270001733,1/1/2015,8368,437.20,263.33,3658489.60,2203545.44,1454944.16\r\nEurope,Croatia,Beverages,Online,C,6/16/2016,681941401,7/28/2016,470,47.45,31.79,22301.50,14941.30,7360.20\r\nSub-Saharan Africa,Madagascar,Fruits,Online,L,5/31/2016,566935575,6/7/2016,7690,9.33,6.92,71747.70,53214.80,18532.90\r\nAsia,Malaysia,Snacks,Offline,M,10/6/2012,175033080,11/5/2012,5033,152.58,97.44,767935.14,490415.52,277519.62\r\nAsia,Uzbekistan,Office Supplies,Offline,L,3/10/2012,276595246,3/15/2012,9535,651.21,524.96,6209287.35,5005493.60,1203793.75\r\nEurope,Italy,Office Supplies,Online,M,1/26/2011,812295901,2/13/2011,5263,651.21,524.96,3427318.23,2762864.48,664453.75\r\nAsia,Nepal,Vegetables,Offline,C,6/2/2014,443121373,6/19/2014,8316,154.06,90.93,1281162.96,756173.88,524989.08\r\nAustralia and Oceania,Fiji,Personal Care,Offline,H,12/17/2016,600370490,1/25/2017,1824,81.73,56.67,149075.52,103366.08,45709.44\r\nEurope,Portugal,Office Supplies,Online,L,6/27/2014,535654580,7/29/2014,949,651.21,524.96,617998.29,498187.04,119811.25\r\nCentral America and the Caribbean,Panama,Cosmetics,Offline,H,3/17/2015,470897471,4/22/2015,7881,437.20,263.33,3445573.20,2075303.73,1370269.47\r\nEurope,Belarus,Beverages,Offline,L,4/3/2013,248335492,4/4/2013,6846,47.45,31.79,324842.70,217634.34,107208.36\r\nSub-Saharan Africa,Botswana,Clothes,Offline,C,3/8/2015,680517470,3/25/2015,9097,109.28,35.84,994120.16,326036.48,668083.68\r\nSub-Saharan Africa,Tanzania,Personal Care,Online,M,6/21/2013,400304734,7/29/2013,7921,81.73,56.67,647383.33,448883.07,198500.26\r\nEurope,Romania,Office Supplies,Offline,C,1/6/2013,810871112,1/8/2013,3636,651.21,524.96,2367799.56,1908754.56,459045.00\r\nSub-Saharan Africa,Mali,Cereal,Online,L,3/17/2012,235702931,4/3/2012,8590,205.70,117.11,1766963.00,1005974.90,760988.10\r\nSub-Saharan Africa,Central African Republic,Office Supplies,Offline,C,4/18/2014,668599021,5/12/2014,2163,651.21,524.96,1408567.23,1135488.48,273078.75\r\nSub-Saharan Africa,Niger,Baby Food,Online,M,1/3/2016,123670709,2/1/2016,5766,255.28,159.42,1471944.48,919215.72,552728.76\r\nEurope,Austria,Office Supplies,Online,L,5/12/2011,285341823,6/8/2011,7841,651.21,524.96,5106137.61,4116211.36,989926.25\r\nAsia,India,Fruits,Online,H,7/29/2010,658348691,8/22/2010,8862,9.33,6.92,82682.46,61325.04,21357.42\r\nEurope,Luxembourg,Baby Food,Offline,L,8/2/2013,817740142,8/19/2013,6335,255.28,159.42,1617198.80,1009925.70,607273.10\r\nSub-Saharan Africa,Cape Verde,Beverages,Offline,H,10/23/2013,858877503,11/6/2013,9794,47.45,31.79,464725.30,311351.26,153374.04\r\nEurope,Sweden,Vegetables,Offline,M,2/5/2017,947434604,2/19/2017,5808,154.06,90.93,894780.48,528121.44,366659.04\r\nEurope,Iceland,Meat,Offline,H,3/20/2015,869397771,4/17/2015,2975,421.89,364.69,1255122.75,1084952.75,170170.00\r\nMiddle East and North Africa,Qatar,Personal Care,Offline,L,5/6/2012,481065833,5/8/2012,6925,81.73,56.67,565980.25,392439.75,173540.50\r\nSub-Saharan Africa,South Sudan,Meat,Online,C,9/30/2013,159050118,10/1/2013,5319,421.89,364.69,2244032.91,1939786.11,304246.80\r\nEurope,United Kingdom,Office Supplies,Online,M,5/20/2014,350274455,6/14/2014,2850,651.21,524.96,1855948.50,1496136.00,359812.50\r\nMiddle East and North Africa,Tunisia ,Cereal,Online,L,4/9/2010,221975171,5/17/2010,6241,205.70,117.11,1283773.70,730883.51,552890.19\r\nNorth America,United States of America,Office Supplies,Online,C,6/9/2017,811701095,7/19/2017,9247,651.21,524.96,6021738.87,4854305.12,1167433.75\r\nSub-Saharan Africa,Liberia,Cereal,Online,L,2/8/2015,977313554,3/29/2015,7653,205.70,117.11,1574222.10,896242.83,677979.27\r\nSub-Saharan Africa,Eritrea,Snacks,Offline,L,1/25/2010,546986377,2/10/2010,4279,152.58,97.44,652889.82,416945.76,235944.06\r\nAsia,South Korea,Fruits,Offline,L,3/7/2010,769205892,3/17/2010,3972,9.33,6.92,37058.76,27486.24,9572.52\r\nSub-Saharan Africa,Kenya,Clothes,Offline,M,1/3/2013,262770926,2/8/2013,8611,109.28,35.84,941010.08,308618.24,632391.84\r\nSub-Saharan Africa,Rwanda,Snacks,Online,M,3/6/2017,866792809,3/18/2017,2109,152.58,97.44,321791.22,205500.96,116290.26\r\nCentral America and the Caribbean,Cuba,Beverages,Offline,C,1/9/2011,890695369,2/23/2011,5408,47.45,31.79,256609.60,171920.32,84689.28\r\nMiddle East and North Africa,Libya,Cereal,Offline,M,3/27/2014,964214932,3/31/2014,1480,205.70,117.11,304436.00,173322.80,131113.20\r\nEurope,Czech Republic,Snacks,Online,C,6/28/2013,887400329,8/17/2013,332,152.58,97.44,50656.56,32350.08,18306.48\r\nEurope,Montenegro,Beverages,Offline,M,9/4/2011,980612885,9/4/2011,3999,47.45,31.79,189752.55,127128.21,62624.34\r\nEurope,Montenegro,Clothes,Offline,M,7/14/2016,734526431,8/2/2016,1549,109.28,35.84,169274.72,55516.16,113758.56\r\nAsia,Philippines,Baby Food,Online,L,2/23/2014,160127294,3/23/2014,4079,255.28,159.42,1041287.12,650274.18,391012.94\r\nCentral America and the Caribbean,El Salvador,Clothes,Offline,L,8/7/2010,238714301,9/13/2010,9721,109.28,35.84,1062310.88,348400.64,713910.24\r\nAustralia and Oceania,Tonga,Household,Online,M,1/14/2013,671898782,2/6/2013,8635,668.27,502.54,5770511.45,4339432.90,1431078.55\r\nSub-Saharan Africa,Democratic Republic of the Congo,Personal Care,Offline,H,9/30/2010,331604564,11/17/2010,8014,81.73,56.67,654984.22,454153.38,200830.84\r\nMiddle East and North Africa,Afghanistan,Cereal,Online,M,10/13/2016,410067975,11/20/2016,7081,205.70,117.11,1456561.70,829255.91,627305.79\r\nAustralia and Oceania,Tuvalu,Snacks,Offline,L,3/16/2011,369837844,3/23/2011,2091,152.58,97.44,319044.78,203747.04,115297.74\r\nSub-Saharan Africa,Sudan,Fruits,Online,L,12/26/2012,193775498,1/31/2013,1331,9.33,6.92,12418.23,9210.52,3207.71\r\nSub-Saharan Africa,Niger,Clothes,Online,M,9/2/2015,835054767,10/9/2015,117,109.28,35.84,12785.76,4193.28,8592.48\r\nSub-Saharan Africa,Gabon,Household,Offline,C,11/11/2013,167161977,12/24/2013,5798,668.27,502.54,3874629.46,2913726.92,960902.54\r\nAustralia and Oceania,East Timor,Vegetables,Offline,C,8/4/2014,633895957,8/22/2014,2755,154.06,90.93,424435.30,250512.15,173923.15\r\nNorth America,United States of America,Clothes,Offline,C,10/21/2010,699368035,12/7/2010,7398,109.28,35.84,808453.44,265144.32,543309.12\r\nMiddle East and North Africa,Jordan,Vegetables,Offline,L,6/13/2015,698002040,7/29/2015,3170,154.06,90.93,488370.20,288248.10,200122.10\r\nEurope,Cyprus,Snacks,Offline,H,3/29/2012,584534299,5/18/2012,5544,152.58,97.44,845903.52,540207.36,305696.16\r\nSub-Saharan Africa,Malawi,Vegetables,Online,L,6/22/2012,384013640,7/19/2012,7025,154.06,90.93,1082271.50,638783.25,443488.25\r\nEurope,Iceland,Personal Care,Online,M,5/10/2013,641801393,5/24/2013,2149,81.73,56.67,175637.77,121783.83,53853.94\r\nMiddle East and North Africa,Israel,Personal Care,Online,M,12/10/2016,173571383,1/11/2017,2484,81.73,56.67,203017.32,140768.28,62249.04\r\nMiddle East and North Africa,United Arab Emirates,Snacks,Offline,H,3/20/2011,115309941,4/6/2011,1629,152.58,97.44,248552.82,158729.76,89823.06\r\nAsia,China,Cosmetics,Offline,L,9/22/2011,773315894,11/4/2011,213,437.20,263.33,93123.60,56089.29,37034.31\r\nSub-Saharan Africa,Kenya,Beverages,Online,M,5/11/2012,274200570,6/26/2012,897,47.45,31.79,42562.65,28515.63,14047.02\r\nMiddle East and North Africa,Somalia,Clothes,Offline,M,11/15/2011,414887797,11/17/2011,3374,109.28,35.84,368710.72,120924.16,247786.56\r\nAustralia and Oceania,Tonga,Beverages,Offline,L,1/27/2010,812613904,1/29/2010,9367,47.45,31.79,444464.15,297776.93,146687.22\r\nAsia,Bangladesh,Baby Food,Online,H,8/17/2011,254927718,9/7/2011,7632,255.28,159.42,1948296.96,1216693.44,731603.52\r\nMiddle East and North Africa,Egypt,Beverages,Offline,M,9/6/2014,749690568,10/26/2014,8954,47.45,31.79,424867.30,284647.66,140219.64\r\nSub-Saharan Africa,Eritrea,Cereal,Offline,C,9/3/2014,775076282,9/19/2014,1150,205.70,117.11,236555.00,134676.50,101878.50\r\nSub-Saharan Africa,Swaziland,Office Supplies,Online,H,9/5/2015,229571187,9/18/2015,4071,651.21,524.96,2651075.91,2137112.16,513963.75\r\nAsia,Vietnam,Baby Food,Online,C,6/20/2011,881974112,7/11/2011,4594,255.28,159.42,1172756.32,732375.48,440380.84\r\nAustralia and Oceania,Marshall Islands,Snacks,Online,L,1/12/2012,521396386,2/14/2012,1632,152.58,97.44,249010.56,159022.08,89988.48\r\nAsia,Taiwan,Household,Online,C,1/23/2017,607261836,2/22/2017,1127,668.27,502.54,753140.29,566362.58,186777.71\r\nEurope,Ireland,Vegetables,Online,M,3/4/2012,419306790,3/12/2012,1052,154.06,90.93,162071.12,95658.36,66412.76\r\nSub-Saharan Africa,Rwanda,Meat,Offline,H,7/18/2010,207580077,7/18/2010,6413,421.89,364.69,2705580.57,2338756.97,366823.60\r\nEurope,Sweden,Snacks,Online,M,4/12/2011,742443025,4/15/2011,4245,152.58,97.44,647702.10,413632.80,234069.30\r\nSub-Saharan Africa,Gabon,Snacks,Offline,M,10/3/2010,164569461,10/5/2010,8615,152.58,97.44,1314476.70,839445.60,475031.10\r\nSub-Saharan Africa,South Africa,Baby Food,Online,L,12/29/2013,734945714,2/12/2014,5624,255.28,159.42,1435694.72,896578.08,539116.64\r\nEurope,United Kingdom,Clothes,Offline,C,9/19/2015,284870612,10/7/2015,8399,109.28,35.84,917842.72,301020.16,616822.56\r\nEurope,Albania,Fruits,Offline,M,9/17/2011,765955483,10/7/2011,2104,9.33,6.92,19630.32,14559.68,5070.64\r\nAsia,Malaysia,Snacks,Offline,H,3/11/2010,600124156,4/21/2010,8929,152.58,97.44,1362386.82,870041.76,492345.06\r\nSub-Saharan Africa,Ghana,Household,Offline,L,11/10/2012,529612958,12/11/2012,3098,668.27,502.54,2070300.46,1556868.92,513431.54\r\nCentral America and the Caribbean,Cuba,Clothes,Offline,H,2/16/2011,466970717,3/18/2011,5867,109.28,35.84,641145.76,210273.28,430872.48\r\nCentral America and the Caribbean,Saint Lucia,Cosmetics,Online,C,8/13/2012,845058763,9/22/2012,522,437.20,263.33,228218.40,137458.26,90760.14\r\nEurope,Romania,Snacks,Offline,L,8/28/2014,367050921,8/31/2014,7379,152.58,97.44,1125887.82,719009.76,406878.06\r\nEurope,Portugal,Office Supplies,Online,L,8/19/2015,956433522,9/12/2015,8788,651.21,524.96,5722833.48,4613348.48,1109485.00\r\nEurope,Macedonia,Beverages,Online,C,3/20/2011,107005393,5/4/2011,4129,47.45,31.79,195921.05,131260.91,64660.14\r\nAsia,China,Beverages,Offline,C,4/16/2013,332877862,5/7/2013,4811,47.45,31.79,228281.95,152941.69,75340.26\r\nEurope,Germany,Baby Food,Online,L,11/13/2015,618474757,12/31/2015,9279,255.28,159.42,2368743.12,1479258.18,889484.94\r\nEurope,Ireland,Household,Online,M,1/10/2014,468532407,2/11/2014,8006,668.27,502.54,5350169.62,4023335.24,1326834.38\r\nEurope,Poland,Office Supplies,Offline,M,4/9/2015,358099639,4/29/2015,8496,651.21,524.96,5532680.16,4460060.16,1072620.00\r\nSub-Saharan Africa,Namibia,Household,Online,H,1/7/2013,382537782,1/27/2013,285,668.27,502.54,190456.95,143223.90,47233.05\r\nAsia,Uzbekistan,Personal Care,Offline,H,2/12/2013,707520663,3/15/2013,9942,81.73,56.67,812559.66,563413.14,249146.52\r\nSub-Saharan Africa,Zimbabwe,Meat,Online,M,11/28/2014,219034612,12/10/2014,6064,421.89,364.69,2558340.96,2211480.16,346860.80\r\nAsia,Mongolia,Meat,Offline,M,1/3/2015,573378455,1/17/2015,4281,421.89,364.69,1806111.09,1561237.89,244873.20\r\nEurope,Norway,Personal Care,Online,H,2/3/2011,347163522,3/22/2011,2256,81.73,56.67,184382.88,127847.52,56535.36\r\nMiddle East and North Africa,Oman,Snacks,Offline,M,4/9/2013,887313640,4/21/2013,4679,152.58,97.44,713921.82,455921.76,258000.06\r\nEurope,Serbia,Cosmetics,Online,H,7/26/2017,461065137,8/19/2017,8275,437.20,263.33,3617830.00,2179055.75,1438774.25\r\nSub-Saharan Africa,Democratic Republic of the Congo,Fruits,Offline,H,4/15/2017,105966842,5/19/2017,6798,9.33,6.92,63425.34,47042.16,16383.18\r\nEurope,Bulgaria,Baby Food,Online,M,5/16/2014,479880082,5/23/2014,6035,255.28,159.42,1540614.80,962099.70,578515.10\r\nAsia,Brunei,Baby Food,Online,H,8/12/2015,510978686,9/30/2015,8803,255.28,159.42,2247229.84,1403374.26,843855.58\r\nEurope,Serbia,Snacks,Offline,C,9/20/2013,547748982,10/14/2013,9951,152.58,97.44,1518323.58,969625.44,548698.14\r\nSub-Saharan Africa,Ghana,Cereal,Offline,M,10/31/2013,108989799,12/9/2013,1358,205.70,117.11,279340.60,159035.38,120305.22\r\nSub-Saharan Africa,Malawi,Cereal,Offline,M,7/30/2014,133812463,8/9/2014,6936,205.70,117.11,1426735.20,812274.96,614460.24\r\nSub-Saharan Africa,Zimbabwe,Fruits,Offline,L,11/12/2011,731640803,12/30/2011,7627,9.33,6.92,71159.91,52778.84,18381.07\r\nEurope,Cyprus,Snacks,Offline,C,3/25/2010,732211148,4/14/2010,6405,152.58,97.44,977274.90,624103.20,353171.70\r\nCentral America and the Caribbean,Nicaragua,Cereal,Online,M,7/4/2011,835572326,8/8/2011,3274,205.70,117.11,673461.80,383418.14,290043.66\r\nEurope,Estonia,Baby Food,Offline,C,1/1/2011,462085664,1/15/2011,271,255.28,159.42,69180.88,43202.82,25978.06\r\nEurope,Estonia,Clothes,Online,C,6/16/2016,902424991,7/4/2016,6463,109.28,35.84,706276.64,231633.92,474642.72\r\nEurope,Lithuania,Fruits,Offline,H,12/17/2013,367576634,1/5/2014,2949,9.33,6.92,27514.17,20407.08,7107.09\r\nSub-Saharan Africa,Republic of the Congo,Meat,Offline,H,3/1/2017,738839423,3/31/2017,7859,421.89,364.69,3315633.51,2866098.71,449534.80\r\nEurope,Czech Republic,Baby Food,Online,C,7/2/2010,817824685,7/27/2010,1353,255.28,159.42,345393.84,215695.26,129698.58\r\nSub-Saharan Africa,Cameroon,Snacks,Online,C,7/16/2013,376456248,8/1/2013,624,152.58,97.44,95209.92,60802.56,34407.36\r\nAsia,Vietnam,Office Supplies,Online,H,8/16/2016,606970441,9/16/2016,4897,651.21,524.96,3188975.37,2570729.12,618246.25\r\nEurope,Moldova ,Meat,Offline,L,12/16/2014,971916091,1/19/2015,424,421.89,364.69,178881.36,154628.56,24252.80\r\nMiddle East and North Africa,Bahrain,Office Supplies,Offline,L,5/14/2012,554154527,5/15/2012,5494,651.21,524.96,3577747.74,2884130.24,693617.50\r\nEurope,Hungary,Household,Online,L,7/18/2017,306859576,7/19/2017,5423,668.27,502.54,3624028.21,2725274.42,898753.79\r\nAustralia and Oceania,Marshall Islands,Personal Care,Offline,L,7/9/2017,803517568,7/21/2017,7559,81.73,56.67,617797.07,428368.53,189428.54\r\nMiddle East and North Africa,Iraq,Office Supplies,Online,C,9/30/2011,887927329,10/2/2011,6283,651.21,524.96,4091552.43,3298323.68,793228.75\r\nEurope,Albania,Vegetables,Online,H,11/24/2015,824200189,11/26/2015,8006,154.06,90.93,1233404.36,727985.58,505418.78\r\nSub-Saharan Africa,Lesotho,Office Supplies,Online,H,8/14/2012,946759974,9/14/2012,6170,651.21,524.96,4017965.70,3239003.20,778962.50\r\nMiddle East and North Africa,Lebanon,Clothes,Offline,H,12/6/2015,310343015,12/28/2015,6249,109.28,35.84,682890.72,223964.16,458926.56\r\nEurope,Hungary,Vegetables,Online,C,5/25/2014,739998137,7/9/2014,748,154.06,90.93,115236.88,68015.64,47221.24\r\nAsia,Japan,Beverages,Online,H,10/18/2012,981086671,11/21/2012,4203,47.45,31.79,199432.35,133613.37,65818.98\r\nEurope,Georgia,Office Supplies,Offline,L,3/13/2013,749282443,3/25/2013,8180,651.21,524.96,5326897.80,4294172.80,1032725.00\r\nEurope,Estonia,Office Supplies,Online,C,2/23/2011,280571782,3/11/2011,6280,651.21,524.96,4089598.80,3296748.80,792850.00\r\nEurope,Luxembourg,Household,Online,C,8/15/2014,781253516,9/1/2014,9131,668.27,502.54,6101973.37,4588692.74,1513280.63\r\nSub-Saharan Africa,Swaziland,Personal Care,Online,H,7/6/2017,377938973,7/11/2017,9396,81.73,56.67,767935.08,532471.32,235463.76\r\nEurope,Romania,Clothes,Offline,C,12/31/2010,867551982,1/3/2011,6765,109.28,35.84,739279.20,242457.60,496821.60\r\nSub-Saharan Africa,Ethiopia,Personal Care,Offline,C,1/13/2010,967328870,1/15/2010,2964,81.73,56.67,242247.72,167969.88,74277.84\r\nSub-Saharan Africa,Chad,Office Supplies,Offline,C,9/17/2011,364818465,10/16/2011,6746,651.21,524.96,4393062.66,3541380.16,851682.50\r\nMiddle East and North Africa,Morocco,Office Supplies,Online,C,3/8/2014,167882096,3/31/2014,8898,651.21,524.96,5794466.58,4671094.08,1123372.50\r\nNorth America,Mexico,Clothes,Online,H,11/18/2012,654693591,12/1/2012,7237,109.28,35.84,790859.36,259374.08,531485.28\r\nSub-Saharan Africa,Nigeria,Personal Care,Offline,H,11/18/2011,823739278,12/29/2011,1612,81.73,56.67,131748.76,91352.04,40396.72\r\nCentral America and the Caribbean,Trinidad and Tobago,Beverages,Offline,L,7/12/2012,643817985,8/19/2012,8904,47.45,31.79,422494.80,283058.16,139436.64\r\nEurope,Moldova ,Personal Care,Offline,H,3/30/2017,604041039,5/15/2017,8022,81.73,56.67,655638.06,454606.74,201031.32\r\nAustralia and Oceania,Solomon Islands,Personal Care,Online,H,7/26/2010,363832271,9/12/2010,4909,81.73,56.67,401212.57,278193.03,123019.54\r\nAsia,India,Personal Care,Online,L,12/24/2015,102928006,1/31/2016,7539,81.73,56.67,616162.47,427235.13,188927.34\r\nSub-Saharan Africa,Burkina Faso,Office Supplies,Offline,M,5/15/2016,971377074,5/15/2016,917,651.21,524.96,597159.57,481388.32,115771.25\r\nAustralia and Oceania,Kiribati,Meat,Online,L,11/3/2010,139540803,12/4/2010,2079,421.89,364.69,877109.31,758190.51,118918.80\r\nMiddle East and North Africa,Israel,Meat,Offline,M,12/1/2010,248093020,12/16/2010,5093,421.89,364.69,2148685.77,1857366.17,291319.60\r\nSub-Saharan Africa,Comoros,Snacks,Offline,L,1/16/2014,858020055,1/17/2014,6056,152.58,97.44,924024.48,590096.64,333927.84\r\nMiddle East and North Africa,Iran,Baby Food,Offline,H,12/11/2014,700620734,1/5/2015,8099,255.28,159.42,2067512.72,1291142.58,776370.14\r\nAsia,Vietnam,Cosmetics,Offline,L,12/24/2016,827506387,1/30/2017,6384,437.20,263.33,2791084.80,1681098.72,1109986.08\r\nCentral America and the Caribbean,Belize,Household,Online,M,3/21/2013,560600841,4/14/2013,3101,668.27,502.54,2072305.27,1558376.54,513928.73\r\nEurope,Belarus,Personal Care,Offline,H,12/8/2012,642140424,1/16/2013,2476,81.73,56.67,202363.48,140314.92,62048.56\r\nNorth America,United States of America,Baby Food,Offline,C,2/13/2015,984673964,3/5/2015,5763,255.28,159.42,1471178.64,918737.46,552441.18\r\nEurope,Poland,Beverages,Online,L,3/28/2012,221062791,4/18/2012,6247,47.45,31.79,296420.15,198592.13,97828.02\r\nNorth America,Canada,Vegetables,Offline,L,10/7/2016,654480731,11/8/2016,4247,154.06,90.93,654292.82,386179.71,268113.11\r\nMiddle East and North Africa,Israel,Beverages,Offline,C,12/15/2011,608414113,12/23/2011,2111,47.45,31.79,100166.95,67108.69,33058.26\r\nMiddle East and North Africa,Lebanon,Household,Online,L,3/8/2016,276661765,4/20/2016,9219,668.27,502.54,6160781.13,4632916.26,1527864.87\r\nEurope,Andorra,Baby Food,Online,L,1/18/2011,373335015,2/28/2011,6982,255.28,159.42,1782364.96,1113070.44,669294.52\r\nEurope,Slovakia,Clothes,Online,L,4/11/2013,782857692,5/28/2013,3843,109.28,35.84,419963.04,137733.12,282229.92\r\nSub-Saharan Africa,Liberia,Fruits,Online,H,5/18/2010,109966123,6/5/2010,274,9.33,6.92,2556.42,1896.08,660.34\r\nCentral America and the Caribbean,Antigua and Barbuda ,Cereal,Offline,M,6/5/2017,629709136,6/6/2017,3782,205.70,117.11,777957.40,442910.02,335047.38\r\nAsia,China,Personal Care,Online,L,9/11/2012,637448060,9/15/2012,3901,81.73,56.67,318828.73,221069.67,97759.06\r\nSub-Saharan Africa,Niger,Baby Food,Online,H,3/8/2017,298856723,4/3/2017,7200,255.28,159.42,1838016.00,1147824.00,690192.00\r\nEurope,United Kingdom,Household,Offline,L,1/28/2015,299921452,2/23/2015,2278,668.27,502.54,1522319.06,1144786.12,377532.94\r\nAsia,Bangladesh,Personal Care,Offline,M,7/26/2010,496941077,7/29/2010,4763,81.73,56.67,389279.99,269919.21,119360.78\r\nAsia,Myanmar,Snacks,Online,L,6/24/2016,366526925,7/14/2016,2317,152.58,97.44,353527.86,225768.48,127759.38\r\nAustralia and Oceania,Tonga,Meat,Offline,M,8/18/2012,355602824,9/15/2012,9633,421.89,364.69,4064066.37,3513058.77,551007.60\r\nSub-Saharan Africa,Guinea-Bissau,Vegetables,Online,C,3/11/2010,531405103,4/19/2010,3434,154.06,90.93,529042.04,312253.62,216788.42\r\nAustralia and Oceania,Nauru,Vegetables,Offline,M,1/14/2010,131482589,1/20/2010,7475,154.06,90.93,1151598.50,679701.75,471896.75\r\nSub-Saharan Africa,Swaziland,Cereal,Online,L,2/10/2014,713696610,3/28/2014,7542,205.70,117.11,1551389.40,883243.62,668145.78\r\nEurope,Finland,Vegetables,Online,C,1/21/2014,306220996,1/30/2014,6452,154.06,90.93,993995.12,586680.36,407314.76\r\nAustralia and Oceania,Papua New Guinea,Household,Offline,L,2/28/2010,157542073,3/15/2010,9055,668.27,502.54,6051184.85,4550499.70,1500685.15\r\nSub-Saharan Africa,Mauritius ,Personal Care,Online,L,2/18/2015,686458671,3/8/2015,7230,81.73,56.67,590907.90,409724.10,181183.80\r\nSub-Saharan Africa,Mozambique,Office Supplies,Online,M,6/14/2012,132082116,7/22/2012,4888,651.21,524.96,3183114.48,2566004.48,617110.00\r\nEurope,Bulgaria,Clothes,Online,L,3/5/2013,403836238,4/3/2013,2972,109.28,35.84,324780.16,106516.48,218263.68\r\nEurope,Spain,Household,Online,C,4/10/2014,331457364,4/23/2014,4455,668.27,502.54,2977142.85,2238815.70,738327.15\r\nAustralia and Oceania,Vanuatu,Meat,Online,H,7/26/2017,614994323,9/12/2017,9341,421.89,364.69,3940874.49,3406569.29,534305.20\r\nEurope,Belgium,Fruits,Offline,L,10/19/2010,674808442,10/24/2010,9669,9.33,6.92,90211.77,66909.48,23302.29\r\nEurope,Belgium,Baby Food,Offline,L,11/8/2016,901573550,12/23/2016,4503,255.28,159.42,1149525.84,717868.26,431657.58\r\nSub-Saharan Africa,Guinea-Bissau,Clothes,Online,L,3/31/2014,406275975,5/10/2014,4944,109.28,35.84,540280.32,177192.96,363087.36\r\nSub-Saharan Africa,Togo,Vegetables,Online,C,8/18/2016,170214545,8/19/2016,9121,154.06,90.93,1405181.26,829372.53,575808.73\r\nSub-Saharan Africa,Cote d'Ivoire,Personal Care,Offline,C,1/3/2016,795000588,1/8/2016,7196,81.73,56.67,588129.08,407797.32,180331.76\r\nSub-Saharan Africa,Republic of the Congo,Fruits,Offline,C,10/21/2016,252557933,11/4/2016,6360,9.33,6.92,59338.80,44011.20,15327.60\r\nMiddle East and North Africa,Libya,Baby Food,Offline,M,12/10/2016,635122907,12/13/2016,5837,255.28,159.42,1490069.36,930534.54,559534.82\r\nAustralia and Oceania,East Timor,Vegetables,Online,C,8/12/2011,505244338,9/19/2011,1882,154.06,90.93,289940.92,171130.26,118810.66\r\nEurope,Switzerland,Clothes,Offline,H,3/23/2012,745783555,5/9/2012,2782,109.28,35.84,304016.96,99706.88,204310.08\r\nAustralia and Oceania,Palau,Snacks,Offline,M,4/27/2012,509914386,6/11/2012,3853,152.58,97.44,587890.74,375436.32,212454.42\r\nMiddle East and North Africa,Jordan,Household,Online,M,1/29/2014,371123158,2/9/2014,2445,668.27,502.54,1633920.15,1228710.30,405209.85\r\nEurope,Slovenia,Household,Online,H,12/13/2016,973208701,12/28/2016,2936,668.27,502.54,1962040.72,1475457.44,486583.28\r\nAsia,South Korea,Baby Food,Online,L,11/21/2013,780282342,12/27/2013,1739,255.28,159.42,443931.92,277231.38,166700.54\r\nEurope,Norway,Clothes,Online,H,4/7/2010,126767909,5/22/2010,2296,109.28,35.84,250906.88,82288.64,168618.24\r\nMiddle East and North Africa,Afghanistan,Baby Food,Online,M,7/8/2012,767401731,7/30/2012,80,255.28,159.42,20422.40,12753.60,7668.80\r\nAsia,Bangladesh,Personal Care,Online,L,10/15/2016,927232635,11/24/2016,7597,81.73,56.67,620902.81,430521.99,190380.82\r\nSub-Saharan Africa,Guinea,Meat,Offline,M,9/18/2012,251621949,10/20/2012,9381,421.89,364.69,3957750.09,3421156.89,536593.20\r\nCentral America and the Caribbean,Cuba,Office Supplies,Offline,H,7/2/2017,256243503,7/23/2017,7002,651.21,524.96,4559772.42,3675769.92,884002.50\r\nEurope,Russia,Cosmetics,Offline,C,7/21/2011,277083623,9/2/2011,4056,437.20,263.33,1773283.20,1068066.48,705216.72\r\nSub-Saharan Africa,Seychelles ,Vegetables,Offline,L,6/1/2010,620441138,6/22/2010,1175,154.06,90.93,181020.50,106842.75,74177.75\r\nAsia,South Korea,Office Supplies,Offline,M,7/26/2015,312927377,9/7/2015,1020,651.21,524.96,664234.20,535459.20,128775.00\r\nSub-Saharan Africa,Ghana,Baby Food,Offline,L,8/6/2010,251466166,9/8/2010,3282,255.28,159.42,837828.96,523216.44,314612.52\r\nCentral America and the Caribbean,Costa Rica,Office Supplies,Online,H,6/20/2010,953293836,7/22/2010,9685,651.21,524.96,6306968.85,5084237.60,1222731.25\r\nEurope,Romania,Cereal,Online,C,4/8/2012,305959212,4/23/2012,8985,205.70,117.11,1848214.50,1052233.35,795981.15\r\nEurope,Czech Republic,Cereal,Online,L,2/27/2014,317323625,3/24/2014,1967,205.70,117.11,404611.90,230355.37,174256.53\r\nEurope,Liechtenstein,Household,Offline,L,7/25/2011,365560901,9/1/2011,6449,668.27,502.54,4309673.23,3240880.46,1068792.77\r\nSub-Saharan Africa,Seychelles ,Baby Food,Online,M,2/18/2016,349157369,4/5/2016,2279,255.28,159.42,581783.12,363318.18,218464.94\r\nMiddle East and North Africa,Somalia,Baby Food,Online,L,1/24/2014,236911857,2/25/2014,6338,255.28,159.42,1617964.64,1010403.96,607560.68\r\nAustralia and Oceania,Solomon Islands,Personal Care,Offline,H,5/10/2015,517935693,6/16/2015,7536,81.73,56.67,615917.28,427065.12,188852.16\r\nSub-Saharan Africa,Uganda,Clothes,Offline,C,2/13/2012,851652705,3/27/2012,1816,109.28,35.84,198452.48,65085.44,133367.04\r\nSub-Saharan Africa,Equatorial Guinea,Cereal,Offline,M,9/7/2012,517799222,10/23/2012,7151,205.70,117.11,1470960.70,837453.61,633507.09\r\nCentral America and the Caribbean,Costa Rica,Office Supplies,Offline,C,2/4/2015,666424071,3/4/2015,8547,651.21,524.96,5565891.87,4486833.12,1079058.75\r\nEurope,Moldova ,Fruits,Offline,C,11/16/2010,267888581,12/22/2010,3039,9.33,6.92,28353.87,21029.88,7323.99\r\nSub-Saharan Africa,Burkina Faso,Vegetables,Online,L,7/20/2011,162866580,7/26/2011,4695,154.06,90.93,723311.70,426916.35,296395.35\r\nCentral America and the Caribbean,Guatemala,Beverages,Offline,H,7/26/2014,812344396,8/30/2014,9614,47.45,31.79,456184.30,305629.06,150555.24\r\nSub-Saharan Africa,Swaziland,Meat,Online,M,8/24/2014,947620856,9/3/2014,924,421.89,364.69,389826.36,336973.56,52852.80\r\nAsia,Maldives,Vegetables,Online,H,2/25/2015,720307290,3/28/2015,3789,154.06,90.93,583733.34,344533.77,239199.57\r\nAsia,Thailand,Household,Online,H,9/21/2016,352327525,10/27/2016,399,668.27,502.54,266639.73,200513.46,66126.27\r\nSub-Saharan Africa,Sudan,Household,Online,C,6/28/2013,585917890,7/23/2013,4979,668.27,502.54,3327316.33,2502146.66,825169.67\r\nCentral America and the Caribbean,Costa Rica,Meat,Offline,L,1/5/2012,433627212,2/13/2012,8783,421.89,364.69,3705459.87,3203072.27,502387.60\r\nEurope,Denmark,Beverages,Online,C,5/1/2012,328316819,5/30/2012,5098,47.45,31.79,241900.10,162065.42,79834.68\r\nSub-Saharan Africa,Angola,Cereal,Offline,C,10/13/2011,773160541,11/21/2011,4240,205.70,117.11,872168.00,496546.40,375621.60\r\nAustralia and Oceania,Papua New Guinea,Household,Online,M,4/27/2016,991644704,5/18/2016,8559,668.27,502.54,5719722.93,4301239.86,1418483.07\r\nAsia,North Korea,Meat,Online,M,1/19/2014,277568137,2/7/2014,7435,421.89,364.69,3136752.15,2711470.15,425282.00\r\nCentral America and the Caribbean,El Salvador,Fruits,Online,C,11/6/2016,245042169,12/15/2016,2278,9.33,6.92,21253.74,15763.76,5489.98\r\nSub-Saharan Africa,Burkina Faso,Household,Online,M,2/28/2011,778490626,3/24/2011,1531,668.27,502.54,1023121.37,769388.74,253732.63\r\nMiddle East and North Africa,Yemen,Baby Food,Online,C,10/11/2014,482649838,11/13/2014,5668,255.28,159.42,1446927.04,903592.56,543334.48\r\nSub-Saharan Africa,Republic of the Congo,Beverages,Online,L,6/25/2012,732568633,7/5/2012,2193,47.45,31.79,104057.85,69715.47,34342.38\r\nEurope,Andorra,Household,Online,M,11/6/2012,723608338,11/23/2012,642,668.27,502.54,429029.34,322630.68,106398.66\r\nCentral America and the Caribbean,Dominican Republic,Household,Offline,H,2/24/2014,621442782,4/14/2014,7584,668.27,502.54,5068159.68,3811263.36,1256896.32\r\nMiddle East and North Africa,Israel,Baby Food,Offline,M,9/19/2015,212058293,10/6/2015,1616,255.28,159.42,412532.48,257622.72,154909.76\r\nAustralia and Oceania,Solomon Islands,Snacks,Offline,L,3/4/2014,251753699,3/24/2014,8369,152.58,97.44,1276942.02,815475.36,461466.66\r\nSub-Saharan Africa,Liberia,Fruits,Online,M,10/8/2014,217140328,10/30/2014,5503,9.33,6.92,51342.99,38080.76,13262.23\r\nSub-Saharan Africa,Mali,Vegetables,Online,C,6/19/2012,555142009,7/10/2012,7712,154.06,90.93,1188110.72,701252.16,486858.56\r\nAsia,Uzbekistan,Clothes,Online,C,11/11/2010,432995069,12/13/2010,1718,109.28,35.84,187743.04,61573.12,126169.92\r\nMiddle East and North Africa,Tunisia ,Personal Care,Offline,H,11/1/2010,888248336,11/7/2010,1276,81.73,56.67,104287.48,72310.92,31976.56\r\nEurope,Vatican City,Vegetables,Online,C,4/28/2014,778763139,5/9/2014,2173,154.06,90.93,334772.38,197590.89,137181.49\r\nSub-Saharan Africa,Djibouti,Snacks,Offline,H,12/22/2012,832713305,2/9/2013,7227,152.58,97.44,1102695.66,704198.88,398496.78\r\nEurope,Ukraine,Household,Offline,M,8/25/2014,498585164,9/29/2014,1285,668.27,502.54,858726.95,645763.90,212963.05\r\nAustralia and Oceania,East Timor,Fruits,Offline,M,11/26/2016,195177543,12/23/2016,6227,9.33,6.92,58097.91,43090.84,15007.07\r\nSub-Saharan Africa,Uganda,Cereal,Online,C,10/20/2010,861601769,12/2/2010,5965,205.70,117.11,1227000.50,698561.15,528439.35\r\nSub-Saharan Africa,Guinea,Meat,Online,H,12/18/2014,807281672,1/26/2015,1441,421.89,364.69,607943.49,525518.29,82425.20\r\nSub-Saharan Africa,Equatorial Guinea,Clothes,Offline,H,3/20/2011,661953580,4/24/2011,5629,109.28,35.84,615137.12,201743.36,413393.76\r\nEurope,Malta,Cosmetics,Online,M,7/12/2016,225666320,8/21/2016,8534,437.20,263.33,3731064.80,2247258.22,1483806.58\r\nEurope,Cyprus,Household,Offline,L,1/26/2011,718781220,2/19/2011,2191,668.27,502.54,1464179.57,1101065.14,363114.43\r\nEurope,Czech Republic,Office Supplies,Online,L,2/24/2010,731972110,4/15/2010,5668,651.21,524.96,3691058.28,2975473.28,715585.00\r\nMiddle East and North Africa,Libya,Vegetables,Online,C,1/2/2015,276225316,2/9/2015,64,154.06,90.93,9859.84,5819.52,4040.32\r\nAsia,Vietnam,Office Supplies,Offline,C,7/26/2016,332839667,7/27/2016,3509,651.21,524.96,2285095.89,1842084.64,443011.25\r\nMiddle East and North Africa,Jordan,Vegetables,Online,C,6/1/2014,603426492,6/15/2014,6163,154.06,90.93,949471.78,560401.59,389070.19\r\nSub-Saharan Africa,Mali,Beverages,Offline,H,12/21/2012,859909617,1/29/2013,5220,47.45,31.79,247689.00,165943.80,81745.20\r\nEurope,Czech Republic,Household,Online,L,2/27/2010,494525372,3/2/2010,9902,668.27,502.54,6617209.54,4976151.08,1641058.46\r\nEurope,Slovakia,Vegetables,Online,M,4/24/2016,769822585,5/15/2016,6465,154.06,90.93,995997.90,587862.45,408135.45\r\nSub-Saharan Africa,Zimbabwe,Vegetables,Offline,C,7/22/2012,768662583,8/10/2012,3195,154.06,90.93,492221.70,290521.35,201700.35\r\nCentral America and the Caribbean,Honduras,Cereal,Online,M,2/22/2015,544219195,3/9/2015,5409,205.70,117.11,1112631.30,633447.99,479183.31\r\nEurope,Switzerland,Beverages,Offline,L,2/10/2011,669978749,3/20/2011,455,47.45,31.79,21589.75,14464.45,7125.30\r\nSub-Saharan Africa,South Africa,Cosmetics,Offline,L,1/21/2015,889740073,1/26/2015,2715,437.20,263.33,1186998.00,714940.95,472057.05\r\nSub-Saharan Africa,Uganda,Beverages,Online,M,5/10/2012,567614495,6/28/2012,8598,47.45,31.79,407975.10,273330.42,134644.68\r\nMiddle East and North Africa,Iran,Vegetables,Offline,M,12/16/2015,938025844,1/21/2016,1547,154.06,90.93,238330.82,140668.71,97662.11\r\nMiddle East and North Africa,Algeria,Vegetables,Online,C,2/25/2017,155710446,2/25/2017,7036,154.06,90.93,1083966.16,639783.48,444182.68\r\nSub-Saharan Africa,Central African Republic,Baby Food,Online,L,1/31/2012,945717132,2/13/2012,7570,255.28,159.42,1932469.60,1206809.40,725660.20\r\nCentral America and the Caribbean,The Bahamas,Cosmetics,Offline,C,2/7/2013,253407227,2/15/2013,7685,437.20,263.33,3359882.00,2023691.05,1336190.95\r\nSub-Saharan Africa,South Africa,Household,Offline,H,9/14/2014,494454562,9/22/2014,8948,668.27,502.54,5979679.96,4496727.92,1482952.04\r\nSub-Saharan Africa,Benin,Cereal,Online,M,6/5/2012,104845464,7/24/2012,4957,205.70,117.11,1019654.90,580514.27,439140.63\r\nEurope,Hungary,Cosmetics,Online,M,4/5/2014,290878760,4/7/2014,6344,437.20,263.33,2773596.80,1670565.52,1103031.28\r\nEurope,Austria,Office Supplies,Offline,C,2/2/2014,979165780,2/10/2014,5768,651.21,524.96,3756179.28,3027969.28,728210.00\r\nAsia,Tajikistan,Office Supplies,Offline,C,9/1/2010,366630351,10/12/2010,2923,651.21,524.96,1903486.83,1534458.08,369028.75\r\nEurope,Portugal,Office Supplies,Online,C,5/17/2011,770508801,6/25/2011,9532,651.21,524.96,6207333.72,5003918.72,1203415.00\r\nEurope,Belgium,Beverages,Offline,M,4/21/2013,978349959,5/21/2013,4349,47.45,31.79,206360.05,138254.71,68105.34\r\nEurope,Slovenia,Beverages,Offline,L,8/10/2014,298015153,8/14/2014,8161,47.45,31.79,387239.45,259438.19,127801.26\r\nEurope,Czech Republic,Snacks,Online,M,9/19/2010,807678210,10/30/2010,8786,152.58,97.44,1340567.88,856107.84,484460.04\r\nAustralia and Oceania,Marshall Islands,Personal Care,Offline,C,4/13/2013,605825459,5/14/2013,6071,81.73,56.67,496182.83,344043.57,152139.26\r\nSub-Saharan Africa,Sudan,Fruits,Online,C,1/28/2016,561255729,2/1/2016,6897,9.33,6.92,64349.01,47727.24,16621.77\r\nCentral America and the Caribbean,Dominican Republic,Clothes,Online,H,12/9/2013,263080346,12/14/2013,175,109.28,35.84,19124.00,6272.00,12852.00\r\nSub-Saharan Africa,Tanzania,Cereal,Offline,C,2/21/2014,270723140,3/9/2014,1848,205.70,117.11,380133.60,216419.28,163714.32\r\nEurope,Switzerland,Clothes,Offline,H,6/9/2017,763920438,7/10/2017,9888,109.28,35.84,1080560.64,354385.92,726174.72\r\nNorth America,Greenland,Household,Online,L,4/17/2014,192721068,5/20/2014,9302,668.27,502.54,6216247.54,4674627.08,1541620.46\r\nAustralia and Oceania,Tonga,Fruits,Offline,L,5/20/2011,227486360,6/8/2011,7124,9.33,6.92,66466.92,49298.08,17168.84\r\nMiddle East and North Africa,Saudi Arabia,Vegetables,Online,M,8/28/2012,808890140,9/22/2012,7422,154.06,90.93,1143433.32,674882.46,468550.86\r\nCentral America and the Caribbean,Belize,Cosmetics,Offline,C,7/25/2015,597918736,9/11/2015,6296,437.20,263.33,2752611.20,1657925.68,1094685.52\r\nSub-Saharan Africa,Angola,Cosmetics,Online,H,10/27/2014,125870978,11/20/2014,6874,437.20,263.33,3005312.80,1810130.42,1195182.38\r\nAsia,Malaysia,Household,Online,H,10/18/2013,444358193,10/21/2013,4319,668.27,502.54,2886258.13,2170470.26,715787.87\r\nSub-Saharan Africa,Ethiopia,Beverages,Online,C,2/15/2013,875304210,3/12/2013,822,47.45,31.79,39003.90,26131.38,12872.52\r\nNorth America,Greenland,Baby Food,Offline,C,7/8/2014,360945355,8/16/2014,607,255.28,159.42,154954.96,96767.94,58187.02\r\nSub-Saharan Africa,Benin,Cereal,Offline,C,12/12/2016,613830459,1/16/2017,4928,205.70,117.11,1013689.60,577118.08,436571.52\r\nMiddle East and North Africa,Yemen,Cereal,Offline,H,11/24/2012,266820847,12/10/2012,7073,205.70,117.11,1454916.10,828319.03,626597.07\r\nSub-Saharan Africa,Rwanda,Baby Food,Offline,M,11/3/2014,723090350,11/27/2014,7358,255.28,159.42,1878350.24,1173012.36,705337.88\r\nSub-Saharan Africa,Mauritania,Meat,Offline,M,8/3/2013,306125295,8/15/2013,8132,421.89,364.69,3430809.48,2965659.08,465150.40\r\nAustralia and Oceania,New Zealand,Personal Care,Online,L,5/23/2012,109724509,6/16/2012,8775,81.73,56.67,717180.75,497279.25,219901.50\r\nAustralia and Oceania,Samoa ,Clothes,Offline,M,7/22/2015,847999322,8/6/2015,699,109.28,35.84,76386.72,25052.16,51334.56\r\nAustralia and Oceania,Fiji,Clothes,Online,H,2/1/2017,605373561,3/2/2017,2344,109.28,35.84,256152.32,84008.96,172143.36\r\nSub-Saharan Africa,Malawi,Beverages,Online,H,1/28/2012,686583554,2/22/2012,4186,47.45,31.79,198625.70,133072.94,65552.76\r\nAustralia and Oceania,Marshall Islands,Beverages,Offline,M,8/3/2015,666678130,9/21/2015,3729,47.45,31.79,176941.05,118544.91,58396.14\r\nCentral America and the Caribbean,Grenada,Baby Food,Online,M,6/23/2013,641018617,6/30/2013,508,255.28,159.42,129682.24,80985.36,48696.88\r\nEurope,Luxembourg,Meat,Online,C,8/3/2011,775278842,9/22/2011,1093,421.89,364.69,461125.77,398606.17,62519.60\r\nSub-Saharan Africa,Zimbabwe,Meat,Offline,M,10/30/2016,855445134,12/6/2016,4080,421.89,364.69,1721311.20,1487935.20,233376.00\r\nAsia,China,Vegetables,Online,H,9/5/2010,737816321,9/21/2010,5100,154.06,90.93,785706.00,463743.00,321963.00\r\nNorth America,United States of America,Beverages,Online,L,7/13/2013,799003732,7/14/2013,1815,47.45,31.79,86121.75,57698.85,28422.90\r\nSub-Saharan Africa,Central African Republic,Vegetables,Online,L,10/9/2012,585931193,11/21/2012,8916,154.06,90.93,1373598.96,810731.88,562867.08\r\nCentral America and the Caribbean,Antigua and Barbuda ,Vegetables,Online,M,1/3/2012,165835034,1/5/2012,3127,154.06,90.93,481745.62,284338.11,197407.51\r\nCentral America and the Caribbean,Guatemala,Baby Food,Offline,H,2/8/2012,576264083,3/14/2012,8203,255.28,159.42,2094061.84,1307722.26,786339.58\r\nMiddle East and North Africa,Qatar,Clothes,Offline,L,1/3/2015,675079667,1/7/2015,9930,109.28,35.84,1085150.40,355891.20,729259.20\r\nMiddle East and North Africa,Israel,Personal Care,Online,L,5/13/2012,290455615,5/28/2012,1126,81.73,56.67,92027.98,63810.42,28217.56\r\nAsia,Thailand,Snacks,Offline,L,1/13/2012,670878255,2/15/2012,6639,152.58,97.44,1012978.62,646904.16,366074.46\r\nAsia,Singapore,Cereal,Online,M,7/30/2011,435146415,8/12/2011,8349,205.70,117.11,1717389.30,977751.39,739637.91\r\nAsia,North Korea,Snacks,Online,C,3/13/2017,522371423,4/8/2017,167,152.58,97.44,25480.86,16272.48,9208.38\r\nEurope,Austria,Office Supplies,Online,L,3/23/2017,141977107,4/18/2017,3036,651.21,524.96,1977073.56,1593778.56,383295.00\r\nAsia,Japan,Baby Food,Offline,L,3/16/2016,823699796,4/19/2016,9929,255.28,159.42,2534675.12,1582881.18,951793.94\r\nSub-Saharan Africa,Zimbabwe,Beverages,Offline,L,12/18/2015,567588317,12/26/2015,851,47.45,31.79,40379.95,27053.29,13326.66\r\nEurope,Lithuania,Fruits,Offline,H,10/25/2011,594003999,11/16/2011,7838,9.33,6.92,73128.54,54238.96,18889.58\r\nEurope,Luxembourg,Baby Food,Offline,H,6/30/2011,393620669,8/2/2011,9958,255.28,159.42,2542078.24,1587504.36,954573.88\r\nSub-Saharan Africa,Central African Republic,Cosmetics,Offline,H,3/27/2016,877424657,4/10/2016,8309,437.20,263.33,3632694.80,2188008.97,1444685.83\r\nEurope,Norway,Household,Offline,M,12/23/2016,326714789,1/21/2017,1021,668.27,502.54,682303.67,513093.34,169210.33\r\nSub-Saharan Africa,Democratic Republic of the Congo,Fruits,Offline,M,4/18/2013,243102395,4/18/2013,8256,9.33,6.92,77028.48,57131.52,19896.96\r\nAustralia and Oceania,New Zealand,Household,Offline,L,3/8/2017,398511302,4/20/2017,7205,668.27,502.54,4814885.35,3620800.70,1194084.65\r\nEurope,Ukraine,Personal Care,Offline,M,6/3/2011,185177838,7/4/2011,7092,81.73,56.67,579629.16,401903.64,177725.52\r\nAsia,Taiwan,Personal Care,Offline,H,11/30/2013,865650832,12/31/2013,4173,81.73,56.67,341059.29,236483.91,104575.38\r\nEurope,Italy,Cereal,Offline,C,5/11/2013,622791612,5/31/2013,6733,205.70,117.11,1384978.10,788501.63,596476.47\r\nEurope,Finland,Personal Care,Online,L,11/13/2010,409774005,11/27/2010,89,81.73,56.67,7273.97,5043.63,2230.34\r\nSub-Saharan Africa,Sudan,Office Supplies,Online,H,3/9/2016,800084340,4/21/2016,1591,651.21,524.96,1036075.11,835211.36,200863.75\r\nEurope,Croatia,Snacks,Offline,M,8/19/2013,637521445,9/12/2013,5618,152.58,97.44,857194.44,547417.92,309776.52\r\nSub-Saharan Africa,Mauritania,Beverages,Online,L,4/19/2011,186196649,5/28/2011,8581,47.45,31.79,407168.45,272789.99,134378.46\r\nAustralia and Oceania,New Zealand,Baby Food,Offline,L,7/20/2014,680533778,7/25/2014,3923,255.28,159.42,1001463.44,625404.66,376058.78\r\nMiddle East and North Africa,Pakistan,Beverages,Online,L,9/8/2014,275269162,9/15/2014,7117,47.45,31.79,337701.65,226249.43,111452.22\r\nEurope,Poland,Household,Online,C,6/4/2015,795451629,6/19/2015,668,668.27,502.54,446404.36,335696.72,110707.64\r\nEurope,Lithuania,Cereal,Offline,M,12/19/2013,986442506,1/1/2014,9113,205.70,117.11,1874544.10,1067223.43,807320.67\r\nMiddle East and North Africa,Pakistan,Cereal,Offline,M,5/18/2012,563915622,6/10/2012,4019,205.70,117.11,826708.30,470665.09,356043.21\r\nAustralia and Oceania,East Timor,Cosmetics,Offline,C,10/12/2013,663857305,11/13/2013,8984,437.20,263.33,3927804.80,2365756.72,1562048.08\r\nAustralia and Oceania,Marshall Islands,Fruits,Online,L,1/2/2011,692566382,1/14/2011,4638,9.33,6.92,43272.54,32094.96,11177.58\r\nCentral America and the Caribbean,Cuba,Household,Offline,L,2/2/2013,576654183,2/3/2013,3642,668.27,502.54,2433839.34,1830250.68,603588.66\r\nNorth America,Greenland,Baby Food,Offline,H,3/19/2011,313044536,4/14/2011,5689,255.28,159.42,1452287.92,906940.38,545347.54\r\nEurope,Luxembourg,Personal Care,Offline,C,10/3/2012,418973767,10/27/2012,2503,81.73,56.67,204570.19,141845.01,62725.18\r\nMiddle East and North Africa,Israel,Beverages,Online,C,10/23/2014,581990706,11/15/2014,2838,47.45,31.79,134663.10,90220.02,44443.08\r\nSub-Saharan Africa,Djibouti,Baby Food,Online,H,7/12/2015,109956681,7/24/2015,7480,255.28,159.42,1909494.40,1192461.60,717032.80\r\nEurope,Bulgaria,Cereal,Online,L,5/6/2010,181045520,5/27/2010,4247,205.70,117.11,873607.90,497366.17,376241.73\r\nAsia,Mongolia,Vegetables,Online,C,11/27/2010,693743550,1/9/2011,2988,154.06,90.93,460331.28,271698.84,188632.44\r\nCentral America and the Caribbean,Dominican Republic,Clothes,Offline,L,12/26/2010,716849601,12/31/2010,582,109.28,35.84,63600.96,20858.88,42742.08\r\nMiddle East and North Africa,Yemen,Cosmetics,Online,L,12/30/2012,739474999,1/1/2013,5940,437.20,263.33,2596968.00,1564180.20,1032787.80\r\nAustralia and Oceania,Federated States of Micronesia,Personal Care,Online,M,8/21/2016,421043574,9/7/2016,5005,81.73,56.67,409058.65,283633.35,125425.30\r\nEurope,Finland,Personal Care,Online,M,2/3/2015,841291654,3/20/2015,5751,81.73,56.67,470029.23,325909.17,144120.06\r\nCentral America and the Caribbean,The Bahamas,Cereal,Offline,L,12/19/2013,450268065,1/4/2014,3181,205.70,117.11,654331.70,372526.91,281804.79\r\nCentral America and the Caribbean,Grenada,Meat,Online,L,5/12/2012,918334138,6/12/2012,4334,421.89,364.69,1828471.26,1580566.46,247904.80\r\nSub-Saharan Africa,Sao Tome and Principe,Meat,Offline,M,3/28/2014,386163699,4/19/2014,3275,421.89,364.69,1381689.75,1194359.75,187330.00\r\nCentral America and the Caribbean,El Salvador,Personal Care,Offline,C,1/11/2017,214743077,2/18/2017,6103,81.73,56.67,498798.19,345857.01,152941.18\r\nEurope,Sweden,Baby Food,Online,M,6/21/2015,935371100,7/6/2015,5949,255.28,159.42,1518660.72,948389.58,570271.14\r\nAsia,Turkmenistan,Cosmetics,Offline,H,11/29/2012,899659097,12/3/2012,7974,437.20,263.33,3486232.80,2099793.42,1386439.38\r\nEurope,Monaco,Vegetables,Online,H,1/1/2010,329530894,2/13/2010,4369,154.06,90.93,673088.14,397273.17,275814.97\r\nMiddle East and North Africa,Turkey,Meat,Online,H,1/6/2016,867222821,2/6/2016,9359,421.89,364.69,3948468.51,3413133.71,535334.80\r\nSub-Saharan Africa,Mozambique,Beverages,Online,M,10/14/2014,625283706,10/23/2014,4199,47.45,31.79,199242.55,133486.21,65756.34\r\nMiddle East and North Africa,Yemen,Office Supplies,Offline,C,12/9/2013,936574876,1/9/2014,2173,651.21,524.96,1415079.33,1140738.08,274341.25\r\nAsia,Philippines,Cereal,Offline,M,10/19/2010,504270160,11/25/2010,3601,205.70,117.11,740725.70,421713.11,319012.59\r\nSub-Saharan Africa,Democratic Republic of the Congo,Personal Care,Offline,M,5/2/2011,351855885,6/2/2011,830,81.73,56.67,67835.90,47036.10,20799.80\r\nAustralia and Oceania,Fiji,Snacks,Online,H,3/17/2011,673130881,3/23/2011,3241,152.58,97.44,494511.78,315803.04,178708.74\r\nEurope,Macedonia,Office Supplies,Offline,H,9/24/2014,382206475,10/13/2014,2244,651.21,524.96,1461315.24,1178010.24,283305.00\r\nMiddle East and North Africa,Tunisia ,Cereal,Online,H,12/1/2015,263506495,12/14/2015,6283,205.70,117.11,1292413.10,735802.13,556610.97\r\nEurope,Liechtenstein,Cereal,Offline,L,6/2/2017,721767270,7/18/2017,5829,205.70,117.11,1199025.30,682634.19,516391.11\r\nMiddle East and North Africa,Qatar,Cosmetics,Online,M,8/4/2011,432037627,8/18/2011,8390,437.20,263.33,3668108.00,2209338.70,1458769.30\r\nAustralia and Oceania,Tonga,Meat,Offline,C,7/29/2014,389678895,8/24/2014,3499,421.89,364.69,1476193.11,1276050.31,200142.80\r\nEurope,Belgium,Meat,Online,L,1/26/2017,760364902,2/24/2017,7726,421.89,364.69,3259522.14,2817594.94,441927.20\r\nSub-Saharan Africa,Chad,Fruits,Offline,C,11/5/2010,430081975,12/9/2010,9669,9.33,6.92,90211.77,66909.48,23302.29\r\nAsia,Thailand,Baby Food,Online,H,3/26/2015,155128943,5/5/2015,4957,255.28,159.42,1265422.96,790244.94,475178.02\r\nEurope,Iceland,Clothes,Offline,H,10/7/2012,312117135,10/16/2012,1251,109.28,35.84,136709.28,44835.84,91873.44\r\nCentral America and the Caribbean,Saint Lucia,Meat,Offline,L,7/22/2013,447970378,9/2/2013,3245,421.89,364.69,1369033.05,1183419.05,185614.00\r\nAsia,Japan,Cosmetics,Offline,C,8/16/2013,629925000,8/18/2013,7661,437.20,263.33,3349389.20,2017371.13,1332018.07\r\nAsia,India,Personal Care,Offline,L,11/5/2013,995529830,12/17/2013,8254,81.73,56.67,674599.42,467754.18,206845.24\r\nAustralia and Oceania,Vanuatu,Office Supplies,Online,L,3/1/2016,402646195,3/28/2016,812,651.21,524.96,528782.52,426267.52,102515.00\r\nSub-Saharan Africa,Chad,Meat,Offline,M,3/25/2012,479447925,4/4/2012,8150,421.89,364.69,3438403.50,2972223.50,466180.00\r\nSub-Saharan Africa,Malawi,Cosmetics,Offline,H,6/20/2017,674421346,6/29/2017,5118,437.20,263.33,2237589.60,1347722.94,889866.66\r\nEurope,Finland,Cosmetics,Online,L,4/18/2014,506365287,5/16/2014,3596,437.20,263.33,1572171.20,946934.68,625236.52\r\nMiddle East and North Africa,Turkey,Clothes,Online,C,6/28/2016,914391076,8/4/2016,7494,109.28,35.84,818944.32,268584.96,550359.36\r\nSub-Saharan Africa,South Africa,Meat,Online,L,5/20/2012,207922542,7/1/2012,7755,421.89,364.69,3271756.95,2828170.95,443586.00\r\nEurope,Lithuania,Office Supplies,Offline,M,2/4/2014,816696012,2/16/2014,7353,651.21,524.96,4788347.13,3860030.88,928316.25\r\nEurope,Russia,Beverages,Offline,L,11/15/2015,740760314,11/21/2015,6293,47.45,31.79,298602.85,200054.47,98548.38\r\nCentral America and the Caribbean,The Bahamas,Baby Food,Online,C,1/11/2013,300476777,2/28/2013,6610,255.28,159.42,1687400.80,1053766.20,633634.60\r\nCentral America and the Caribbean,The Bahamas,Snacks,Online,L,4/24/2013,786519229,6/7/2013,7373,152.58,97.44,1124972.34,718425.12,406547.22\r\nMiddle East and North Africa,Turkey,Cosmetics,Offline,C,5/15/2010,409873998,6/3/2010,9679,437.20,263.33,4231658.80,2548771.07,1682887.73\r\nSub-Saharan Africa,Mauritius ,Cosmetics,Offline,H,4/17/2010,151839911,5/22/2010,1659,437.20,263.33,725314.80,436864.47,288450.33\r\nEurope,Bulgaria,Vegetables,Online,H,8/25/2012,614028298,9/9/2012,3473,154.06,90.93,535050.38,315799.89,219250.49\r\nMiddle East and North Africa,Iran,Household,Offline,L,4/19/2014,668362987,5/13/2014,2315,668.27,502.54,1547045.05,1163380.10,383664.95\r\nSub-Saharan Africa,Ghana,Household,Online,M,2/26/2013,607080304,4/5/2013,7408,668.27,502.54,4950544.16,3722816.32,1227727.84\r\nSub-Saharan Africa,Malawi,Baby Food,Online,M,12/28/2011,792729079,1/17/2012,5006,255.28,159.42,1277931.68,798056.52,479875.16\r\nSub-Saharan Africa,Zimbabwe,Baby Food,Offline,M,8/21/2014,308170640,10/10/2014,3395,255.28,159.42,866675.60,541230.90,325444.70\r\nAsia,Tajikistan,Vegetables,Online,H,8/21/2014,106578814,10/2/2014,7894,154.06,90.93,1216149.64,717801.42,498348.22\r\nEurope,Czech Republic,Cereal,Online,H,3/2/2014,761439931,3/28/2014,5851,205.70,117.11,1203550.70,685210.61,518340.09\r\nSub-Saharan Africa,Mauritius ,Household,Online,L,9/6/2012,216552817,9/27/2012,1646,668.27,502.54,1099972.42,827180.84,272791.58\r\nSub-Saharan Africa,Lesotho,Fruits,Online,H,9/16/2010,536028802,9/22/2010,1689,9.33,6.92,15758.37,11687.88,4070.49\r\nSub-Saharan Africa,Mali,Beverages,Online,L,8/13/2013,254291713,8/15/2013,9424,47.45,31.79,447168.80,299588.96,147579.84\r\nEurope,Georgia,Personal Care,Online,C,9/11/2012,226077878,10/23/2012,323,81.73,56.67,26398.79,18304.41,8094.38\r\nEurope,Albania,Office Supplies,Offline,M,8/31/2011,476436126,10/15/2011,6892,651.21,524.96,4488139.32,3618024.32,870115.00\r\nEurope,Cyprus,Cosmetics,Offline,L,4/21/2015,650727784,6/6/2015,3667,437.20,263.33,1603212.40,965631.11,637581.29\r\nCentral America and the Caribbean,Saint Kitts and Nevis ,Household,Offline,C,7/11/2010,464626681,7/27/2010,2215,668.27,502.54,1480218.05,1113126.10,367091.95\r\nMiddle East and North Africa,Tunisia ,Meat,Offline,C,8/9/2015,154119145,9/21/2015,6135,421.89,364.69,2588295.15,2237373.15,350922.00\r\nCentral America and the Caribbean,Cuba,Meat,Online,M,10/17/2015,925504004,12/6/2015,6057,421.89,364.69,2555387.73,2208927.33,346460.40\r\nAustralia and Oceania,Kiribati,Cereal,Offline,L,7/24/2012,905392587,8/16/2012,4641,205.70,117.11,954653.70,543507.51,411146.19\r\nAsia,Cambodia,Snacks,Online,C,3/25/2012,990708720,5/4/2012,1581,152.58,97.44,241228.98,154052.64,87176.34\r\nEurope,Moldova ,Baby Food,Online,M,8/11/2014,798688733,9/18/2014,8600,255.28,159.42,2195408.00,1371012.00,824396.00\r\nAsia,Uzbekistan,Cereal,Offline,C,10/15/2016,916881453,11/28/2016,4452,205.70,117.11,915776.40,521373.72,394402.68\r\nAsia,India,Cosmetics,Offline,L,12/3/2016,653148210,1/21/2017,9924,437.20,263.33,4338772.80,2613286.92,1725485.88\r\nEurope,Germany,Personal Care,Offline,C,6/12/2010,285662829,7/13/2010,2834,81.73,56.67,231622.82,160602.78,71020.04\r\nEurope,Austria,Vegetables,Online,C,7/29/2016,612911641,8/31/2016,3030,154.06,90.93,466801.80,275517.90,191283.90\r\nEurope,Germany,Office Supplies,Offline,L,12/9/2013,703693473,1/12/2014,7391,651.21,524.96,4813093.11,3879979.36,933113.75\r\nAsia,Bhutan,Clothes,Online,M,7/12/2012,147119653,8/9/2012,4829,109.28,35.84,527713.12,173071.36,354641.76\r\nAsia,Kyrgyzstan,Fruits,Online,C,1/14/2012,402614009,3/2/2012,1287,9.33,6.92,12007.71,8906.04,3101.67\r\nMiddle East and North Africa,Somalia,Personal Care,Online,C,3/20/2013,749912869,4/25/2013,4738,81.73,56.67,387236.74,268502.46,118734.28\r\nCentral America and the Caribbean,Saint Lucia,Household,Online,H,2/10/2014,539065062,3/10/2014,186,668.27,502.54,124298.22,93472.44,30825.78\r\nEurope,Armenia,Snacks,Offline,H,10/26/2013,540431916,11/15/2013,4668,152.58,97.44,712243.44,454849.92,257393.52\r\nNorth America,Canada,Beverages,Online,C,4/16/2016,694687259,6/2/2016,2252,47.45,31.79,106857.40,71591.08,35266.32\r\nSub-Saharan Africa,Burundi,Cosmetics,Offline,H,5/27/2011,562817418,6/2/2011,9036,437.20,263.33,3950539.20,2379449.88,1571089.32\r\nEurope,Liechtenstein,Cereal,Online,L,8/4/2016,676121222,9/9/2016,8149,205.70,117.11,1676249.30,954329.39,721919.91\r\nMiddle East and North Africa,Tunisia ,Snacks,Offline,L,7/3/2012,286210000,8/5/2012,4754,152.58,97.44,725365.32,463229.76,262135.56\r\nMiddle East and North Africa,Iraq,Beverages,Online,L,12/4/2014,515007579,1/11/2015,1042,47.45,31.79,49442.90,33125.18,16317.72\r\nAsia,Indonesia,Cosmetics,Offline,C,5/31/2010,304750287,6/1/2010,1237,437.20,263.33,540816.40,325739.21,215077.19\r\nAsia,Kazakhstan,Beverages,Online,H,2/5/2013,467986953,2/17/2013,6594,47.45,31.79,312885.30,209623.26,103262.04\r\nEurope,Denmark,Beverages,Offline,C,6/15/2015,537578904,7/9/2015,399,47.45,31.79,18932.55,12684.21,6248.34\r\nEurope,Luxembourg,Vegetables,Offline,L,10/21/2014,116699969,11/18/2014,2969,154.06,90.93,457404.14,269971.17,187432.97\r\nSub-Saharan Africa,Cape Verde,Snacks,Offline,C,2/13/2017,228836476,3/13/2017,6653,152.58,97.44,1015114.74,648268.32,366846.42\r\nAustralia and Oceania,Palau,Vegetables,Offline,C,6/29/2010,167787253,7/16/2010,832,154.06,90.93,128177.92,75653.76,52524.16\r\nAustralia and Oceania,Australia,Vegetables,Online,M,5/19/2014,647663629,5/20/2014,6915,154.06,90.93,1065324.90,628780.95,436543.95\r\nCentral America and the Caribbean,Nicaragua,Meat,Offline,L,3/21/2015,652889430,4/15/2015,3346,421.89,364.69,1411643.94,1220252.74,191391.20\r\nAsia,Laos,Office Supplies,Offline,M,8/31/2015,588200986,10/15/2015,598,651.21,524.96,389423.58,313926.08,75497.50\r\nCentral America and the Caribbean,Cuba,Personal Care,Online,L,8/23/2015,928647124,8/30/2015,6176,81.73,56.67,504764.48,349993.92,154770.56\r\nEurope,Moldova ,Cosmetics,Offline,L,2/24/2016,869589173,3/17/2016,9615,437.20,263.33,4203678.00,2531917.95,1671760.05\r\nMiddle East and North Africa,Syria,Household,Online,C,6/17/2015,576700961,7/23/2015,7485,668.27,502.54,5002000.95,3761511.90,1240489.05\r\nCentral America and the Caribbean,The Bahamas,Cereal,Offline,M,11/27/2012,735968816,12/6/2012,8382,205.70,117.11,1724177.40,981616.02,742561.38\r\nEurope,Belarus,Snacks,Offline,M,9/7/2012,303691565,10/19/2012,7938,152.58,97.44,1211180.04,773478.72,437701.32\r\nMiddle East and North Africa,United Arab Emirates,Clothes,Offline,C,6/23/2012,556480538,8/7/2012,3812,109.28,35.84,416575.36,136622.08,279953.28\r\nSub-Saharan Africa,Angola,Beverages,Offline,H,10/23/2014,141259562,11/11/2014,698,47.45,31.79,33120.10,22189.42,10930.68\r\nCentral America and the Caribbean,Cuba,Cosmetics,Offline,C,9/18/2015,925264966,10/18/2015,5320,437.20,263.33,2325904.00,1400915.60,924988.40\r\nEurope,Ukraine,Office Supplies,Online,H,1/24/2016,346045577,2/20/2016,1431,651.21,524.96,931881.51,751217.76,180663.75\r\nSub-Saharan Africa,Mozambique,Fruits,Offline,H,3/23/2010,861462724,4/19/2010,4818,9.33,6.92,44951.94,33340.56,11611.38\r\nEurope,Armenia,Personal Care,Online,M,7/26/2012,499690234,8/28/2012,8299,81.73,56.67,678277.27,470304.33,207972.94\r\nNorth America,Greenland,Clothes,Online,H,10/20/2015,509214437,11/2/2015,6722,109.28,35.84,734580.16,240916.48,493663.68\r\nCentral America and the Caribbean,Saint Kitts and Nevis ,Office Supplies,Online,M,6/27/2017,408834159,7/18/2017,1968,651.21,524.96,1281581.28,1033121.28,248460.00\r\nEurope,Vatican City,Beverages,Offline,M,4/4/2016,237660729,4/30/2016,7946,47.45,31.79,377037.70,252603.34,124434.36\r\nEurope,Ukraine,Clothes,Online,C,8/5/2015,105117976,9/9/2015,5600,109.28,35.84,611968.00,200704.00,411264.00\r\nSub-Saharan Africa,Niger,Cereal,Offline,L,6/16/2012,640942227,7/4/2012,7903,205.70,117.11,1625647.10,925520.33,700126.77\r\nAsia,Myanmar,Cosmetics,Online,L,4/3/2016,745182311,5/5/2016,4860,437.20,263.33,2124792.00,1279783.80,845008.20\r\nSub-Saharan Africa,Guinea,Baby Food,Offline,C,9/21/2014,738199555,9/21/2014,8508,255.28,159.42,2171922.24,1356345.36,815576.88\r\nSub-Saharan Africa,Guinea-Bissau,Snacks,Online,L,8/8/2015,110667788,9/10/2015,7913,152.58,97.44,1207365.54,771042.72,436322.82\r\nSub-Saharan Africa,South Sudan,Office Supplies,Online,C,7/19/2012,673573338,7/20/2012,4174,651.21,524.96,2718150.54,2191183.04,526967.50\r\nMiddle East and North Africa,Turkey,Snacks,Offline,H,8/26/2011,708215034,9/13/2011,5421,152.58,97.44,827136.18,528222.24,298913.94\r\nAustralia and Oceania,Palau,Household,Online,M,6/23/2012,816204202,7/1/2012,1816,668.27,502.54,1213578.32,912612.64,300965.68\r\nEurope,Poland,Beverages,Offline,L,11/20/2011,769464671,12/24/2011,550,47.45,31.79,26097.50,17484.50,8613.00\r\nAsia,Malaysia,Beverages,Offline,L,5/13/2015,860232770,6/4/2015,848,47.45,31.79,40237.60,26957.92,13279.68\r\nNorth America,United States of America,Personal Care,Offline,C,7/16/2010,551057326,8/22/2010,8963,81.73,56.67,732545.99,507933.21,224612.78\r\nEurope,Switzerland,Cosmetics,Online,C,5/21/2016,724799668,5/27/2016,3183,437.20,263.33,1391607.60,838179.39,553428.21\r\nAustralia and Oceania,Papua New Guinea,Cosmetics,Offline,H,4/22/2011,534633624,6/8/2011,8825,437.20,263.33,3858290.00,2323887.25,1534402.75\r\nSub-Saharan Africa,Namibia,Beverages,Offline,H,8/14/2012,554045522,9/20/2012,3237,47.45,31.79,153595.65,102904.23,50691.42\r\nEurope,Ireland,Clothes,Online,C,3/17/2012,526834189,5/2/2012,799,109.28,35.84,87314.72,28636.16,58678.56\r\nSub-Saharan Africa,Mozambique,Household,Online,C,8/6/2010,717110955,8/9/2010,7922,668.27,502.54,5294034.94,3981121.88,1312913.06\r\nSub-Saharan Africa,Democratic Republic of the Congo,Baby Food,Offline,L,2/25/2013,559299647,3/26/2013,8049,255.28,159.42,2054748.72,1283171.58,771577.14\r\nNorth America,United States of America,Meat,Online,M,3/6/2011,908136594,3/10/2011,6654,421.89,364.69,2807256.06,2426647.26,380608.80\r\nMiddle East and North Africa,Azerbaijan,Office Supplies,Offline,M,12/14/2015,888670623,12/16/2015,6240,651.21,524.96,4063550.40,3275750.40,787800.00\r\nEurope,Belgium,Office Supplies,Offline,C,2/10/2017,146263062,2/16/2017,1345,651.21,524.96,875877.45,706071.20,169806.25\r\nAsia,Taiwan,Office Supplies,Offline,L,9/20/2016,196587741,10/28/2016,3536,651.21,524.96,2302678.56,1856258.56,446420.00\r\nCentral America and the Caribbean,Panama,Baby Food,Online,M,4/30/2010,375630986,6/2/2010,6411,255.28,159.42,1636600.08,1022041.62,614558.46\r\nEurope,Andorra,Beverages,Offline,H,6/25/2013,989691627,7/10/2013,600,47.45,31.79,28470.00,19074.00,9396.00\r\nEurope,Georgia,Household,Offline,H,7/4/2012,165380990,7/27/2012,8765,668.27,502.54,5857386.55,4404763.10,1452623.45\r\nCentral America and the Caribbean,Barbados,Snacks,Online,C,9/21/2013,599622905,10/22/2013,597,152.58,97.44,91090.26,58171.68,32918.58\r\nEurope,Sweden,Personal Care,Offline,C,12/8/2016,109653699,1/6/2017,7821,81.73,56.67,639210.33,443216.07,195994.26\r\nMiddle East and North Africa,Algeria,Meat,Offline,M,9/2/2011,183022201,10/15/2011,9191,421.89,364.69,3877590.99,3351865.79,525725.20\r\nEurope,Italy,Personal Care,Online,L,3/21/2011,127589738,4/2/2011,5494,81.73,56.67,449024.62,311344.98,137679.64\r\nEurope,Russia,Fruits,Offline,L,1/8/2011,221530139,1/26/2011,4546,9.33,6.92,42414.18,31458.32,10955.86\r\nCentral America and the Caribbean,Antigua and Barbuda ,Office Supplies,Offline,M,2/22/2015,363329732,2/22/2015,6197,651.21,524.96,4035548.37,3253177.12,782371.25\r\nMiddle East and North Africa,Jordan,Fruits,Online,C,5/15/2017,521787345,6/25/2017,7325,9.33,6.92,68342.25,50689.00,17653.25\r\nSub-Saharan Africa,Mali,Meat,Online,L,7/14/2012,286014306,8/15/2012,6844,421.89,364.69,2887415.16,2495938.36,391476.80\r\nMiddle East and North Africa,Somalia,Cereal,Offline,C,6/25/2015,215434443,6/30/2015,694,205.70,117.11,142755.80,81274.34,61481.46\r\nMiddle East and North Africa,Kuwait,Snacks,Online,L,10/26/2011,489784085,11/1/2011,6850,152.58,97.44,1045173.00,667464.00,377709.00\r\nSub-Saharan Africa,Liberia,Office Supplies,Offline,C,9/24/2014,459112060,10/12/2014,316,651.21,524.96,205782.36,165887.36,39895.00\r\nAsia,China,Office Supplies,Online,C,9/30/2015,893779695,11/7/2015,8128,651.21,524.96,5293034.88,4266874.88,1026160.00\r\nEurope,Andorra,Meat,Offline,M,3/31/2011,834460818,3/31/2011,4355,421.89,364.69,1837330.95,1588224.95,249106.00\r\nSub-Saharan Africa,Niger,Beverages,Online,C,10/25/2013,742141759,10/28/2013,5093,47.45,31.79,241662.85,161906.47,79756.38\r\nEurope,Hungary,Vegetables,Offline,M,8/12/2010,248121345,9/14/2010,3475,154.06,90.93,535358.50,315981.75,219376.75\r\nEurope,Monaco,Clothes,Offline,M,7/26/2012,404010903,9/4/2012,4659,109.28,35.84,509135.52,166978.56,342156.96\r\nAustralia and Oceania,Tuvalu,Household,Online,L,9/30/2012,531734263,10/12/2012,840,668.27,502.54,561346.80,422133.60,139213.20\r\nSub-Saharan Africa,South Sudan,Baby Food,Online,C,11/9/2012,473527753,12/29/2012,6240,255.28,159.42,1592947.20,994780.80,598166.40\r\nEurope,Cyprus,Cereal,Offline,M,11/19/2011,141940200,1/2/2012,2114,205.70,117.11,434849.80,247570.54,187279.26\r\nEurope,Poland,Household,Offline,M,6/9/2017,869832932,7/25/2017,1749,668.27,502.54,1168804.23,878942.46,289861.77\r\nSub-Saharan Africa,Liberia,Snacks,Online,H,9/17/2011,460379779,11/4/2011,5462,152.58,97.44,833391.96,532217.28,301174.68\r\nSub-Saharan Africa,Cote d'Ivoire,Vegetables,Online,C,10/23/2015,837067067,10/26/2015,5602,154.06,90.93,863044.12,509389.86,353654.26\r\nAsia,Kyrgyzstan,Beverages,Online,C,4/3/2010,393693625,4/9/2010,1547,47.45,31.79,73405.15,49179.13,24226.02\r\nEurope,Slovakia,Vegetables,Offline,L,7/3/2014,744370782,7/14/2014,4711,154.06,90.93,725776.66,428371.23,297405.43\r\nAsia,Malaysia,Cosmetics,Offline,M,12/30/2014,873522365,1/13/2015,3534,437.20,263.33,1545064.80,930608.22,614456.58\r\nSub-Saharan Africa,Liberia,Beverages,Online,L,5/19/2014,285884702,6/10/2014,8491,47.45,31.79,402897.95,269928.89,132969.06\r\nAustralia and Oceania,Vanuatu,Cosmetics,Online,H,8/4/2012,356506621,9/3/2012,7086,437.20,263.33,3097999.20,1865956.38,1232042.82\r\nAustralia and Oceania,Kiribati,Baby Food,Offline,L,8/15/2010,280749452,10/1/2010,8856,255.28,159.42,2260759.68,1411823.52,848936.16\r\nMiddle East and North Africa,Turkey,Baby Food,Online,M,4/26/2014,224287021,5/17/2014,368,255.28,159.42,93943.04,58666.56,35276.48\r\nEurope,San Marino,Fruits,Offline,M,6/10/2015,873105657,6/23/2015,221,9.33,6.92,2061.93,1529.32,532.61\r\nEurope,Vatican City,Snacks,Offline,C,8/12/2010,283504188,9/2/2010,4044,152.58,97.44,617033.52,394047.36,222986.16\r\nMiddle East and North Africa,Morocco,Beverages,Offline,C,8/28/2012,632093942,9/5/2012,9499,47.45,31.79,450727.55,301973.21,148754.34\r\nSub-Saharan Africa,Equatorial Guinea,Meat,Offline,L,7/15/2016,565798747,8/9/2016,1277,421.89,364.69,538753.53,465709.13,73044.40\r\nMiddle East and North Africa,Jordan,Vegetables,Online,M,9/14/2010,151854932,10/19/2010,6104,154.06,90.93,940382.24,555036.72,385345.52\r\nAsia,Kyrgyzstan,Vegetables,Online,H,3/7/2011,427811324,4/16/2011,7733,154.06,90.93,1191345.98,703161.69,488184.29\r\nSub-Saharan Africa,Republic of the Congo,Fruits,Online,L,4/30/2012,251529252,5/5/2012,1950,9.33,6.92,18193.50,13494.00,4699.50\r\nAustralia and Oceania,East Timor,Snacks,Offline,C,5/18/2013,351182544,6/22/2013,1574,152.58,97.44,240160.92,153370.56,86790.36\r\nEurope,Estonia,Meat,Offline,H,8/10/2014,175257527,9/25/2014,1452,421.89,364.69,612584.28,529529.88,83054.40\r\nAsia,Bangladesh,Snacks,Online,H,7/31/2013,142553031,9/11/2013,3465,152.58,97.44,528689.70,337629.60,191060.10\r\nSub-Saharan Africa,Senegal,Fruits,Offline,H,7/2/2016,292180383,8/15/2016,1523,9.33,6.92,14209.59,10539.16,3670.43\r\nMiddle East and North Africa,Pakistan,Fruits,Offline,L,9/13/2011,733563411,9/20/2011,6569,9.33,6.92,61288.77,45457.48,15831.29\r\nEurope,Czech Republic,Beverages,Online,H,4/18/2011,296438443,4/19/2011,1578,47.45,31.79,74876.10,50164.62,24711.48\r\nSub-Saharan Africa,Ghana,Meat,Offline,C,2/9/2017,580854308,3/18/2017,6552,421.89,364.69,2764223.28,2389448.88,374774.40\r\nAsia,Japan,Cosmetics,Offline,H,11/20/2016,107172334,12/23/2016,3530,437.20,263.33,1543316.00,929554.90,613761.10\r\nAsia,Kazakhstan,Baby Food,Offline,H,10/16/2010,166066348,12/5/2010,1578,255.28,159.42,402831.84,251564.76,151267.08\r\nCentral America and the Caribbean,The Bahamas,Snacks,Offline,H,3/15/2015,768522679,3/27/2015,1794,152.58,97.44,273728.52,174807.36,98921.16\r\nSub-Saharan Africa,Ethiopia,Household,Online,M,6/25/2013,195840156,7/25/2013,2309,668.27,502.54,1543035.43,1160364.86,382670.57\r\nSub-Saharan Africa,Burkina Faso,Cosmetics,Offline,L,10/11/2012,849630105,11/9/2012,3284,437.20,263.33,1435764.80,864775.72,570989.08\r\nSub-Saharan Africa,Madagascar,Fruits,Offline,M,7/8/2017,701816356,7/30/2017,1910,9.33,6.92,17820.30,13217.20,4603.10\r\nEurope,Netherlands,Office Supplies,Online,M,6/22/2010,944635236,7/27/2010,7413,651.21,524.96,4827419.73,3891528.48,935891.25\r\nEurope,Greece,Vegetables,Online,L,2/17/2017,140635573,3/21/2017,6046,154.06,90.93,931446.76,549762.78,381683.98\r\nMiddle East and North Africa,Egypt,Meat,Online,C,1/14/2011,972678697,2/25/2011,6096,421.89,364.69,2571841.44,2223150.24,348691.20\r\nSub-Saharan Africa,South Sudan,Fruits,Online,M,1/9/2016,793938434,2/8/2016,2880,9.33,6.92,26870.40,19929.60,6940.80\r\nEurope,Kosovo,Baby Food,Online,L,7/18/2011,177901113,8/13/2011,3747,255.28,159.42,956534.16,597346.74,359187.42\r\nAsia,Brunei,Beverages,Online,L,3/16/2012,668365561,5/4/2012,3077,47.45,31.79,146003.65,97817.83,48185.82\r\nAustralia and Oceania,Australia,Vegetables,Online,C,12/15/2010,729443109,1/12/2011,7281,154.06,90.93,1121710.86,662061.33,459649.53\r\nSub-Saharan Africa,Cape Verde,Fruits,Offline,H,3/2/2013,695557582,4/3/2013,9800,9.33,6.92,91434.00,67816.00,23618.00\r\nSub-Saharan Africa,Malawi,Household,Offline,H,2/17/2010,521445310,4/4/2010,6110,668.27,502.54,4083129.70,3070519.40,1012610.30\r\nAsia,Philippines,Personal Care,Online,L,2/19/2013,232155120,3/30/2013,8714,81.73,56.67,712195.22,493822.38,218372.84\r\nEurope,Estonia,Beverages,Online,L,10/28/2011,373048341,12/12/2011,2149,47.45,31.79,101970.05,68316.71,33653.34\r\nCentral America and the Caribbean,Trinidad and Tobago,Office Supplies,Offline,L,10/26/2015,659798800,12/2/2015,7982,651.21,524.96,5197958.22,4190230.72,1007727.50\r\nAsia,Mongolia,Household,Online,C,2/5/2013,428392827,2/5/2013,9812,668.27,502.54,6557065.24,4930922.48,1626142.76\r\nAsia,Japan,Personal Care,Offline,M,8/25/2011,885129249,9/3/2011,8269,81.73,56.67,675825.37,468604.23,207221.14\r\nSub-Saharan Africa,Niger,Meat,Online,C,12/4/2012,156619393,12/5/2012,6014,421.89,364.69,2537246.46,2193245.66,344000.80\r\nMiddle East and North Africa,Egypt,Baby Food,Offline,M,9/8/2015,939787089,9/9/2015,2739,255.28,159.42,699211.92,436651.38,262560.54\r\nCentral America and the Caribbean,Saint Lucia,Vegetables,Online,C,3/1/2012,151868665,4/19/2012,168,154.06,90.93,25882.08,15276.24,10605.84\r\nMiddle East and North Africa,Qatar,Cereal,Offline,C,8/5/2014,180412948,8/24/2014,7055,205.70,117.11,1451213.50,826211.05,625002.45\r\nSub-Saharan Africa,Mali,Fruits,Offline,H,7/24/2013,333281266,7/28/2013,4188,9.33,6.92,39074.04,28980.96,10093.08\r\nCentral America and the Caribbean,Saint Lucia,Cosmetics,Online,L,1/26/2012,888647449,2/28/2012,9383,437.20,263.33,4102247.60,2470825.39,1631422.21\r\nSub-Saharan Africa,Swaziland,Clothes,Offline,M,3/10/2014,844997823,4/26/2014,2488,109.28,35.84,271888.64,89169.92,182718.72\r\nAsia,Mongolia,Fruits,Online,M,9/12/2013,171131217,10/8/2013,385,9.33,6.92,3592.05,2664.20,927.85\r\nSub-Saharan Africa,Botswana,Office Supplies,Online,C,1/5/2013,256158959,1/18/2013,1983,651.21,524.96,1291349.43,1040995.68,250353.75\r\nEurope,San Marino,Cosmetics,Online,H,10/28/2011,759504878,12/8/2011,3226,437.20,263.33,1410407.20,849502.58,560904.62\r\nMiddle East and North Africa,Oman,Fruits,Online,C,11/21/2010,960905301,11/25/2010,2087,9.33,6.92,19471.71,14442.04,5029.67\r\nAsia,Bangladesh,Office Supplies,Offline,C,10/28/2015,210409057,12/4/2015,3570,651.21,524.96,2324819.70,1874107.20,450712.50\r\nSub-Saharan Africa,Namibia,Cosmetics,Offline,C,7/29/2010,178377473,9/1/2010,4713,437.20,263.33,2060523.60,1241074.29,819449.31\r\nAsia,Mongolia,Fruits,Online,M,3/30/2014,805484378,5/1/2014,9582,9.33,6.92,89400.06,66307.44,23092.62\r\nAsia,North Korea,Beverages,Online,C,9/14/2016,752716100,10/12/2016,4276,47.45,31.79,202896.20,135934.04,66962.16\r\nEurope,Latvia,Clothes,Online,M,9/6/2012,551371467,9/15/2012,1925,109.28,35.84,210364.00,68992.00,141372.00\r\nSub-Saharan Africa,Burundi,Snacks,Offline,M,2/8/2013,353061807,3/5/2013,7689,152.58,97.44,1173187.62,749216.16,423971.46\r\nSub-Saharan Africa,Seychelles ,Personal Care,Online,C,1/17/2011,379710948,1/30/2011,3762,81.73,56.67,307468.26,213192.54,94275.72\r\nSub-Saharan Africa,Kenya,Cereal,Online,H,10/11/2015,473555219,11/6/2015,4368,205.70,117.11,898497.60,511536.48,386961.12\r\nSub-Saharan Africa,Benin,Office Supplies,Online,C,2/21/2011,547143447,2/23/2011,760,651.21,524.96,494919.60,398969.60,95950.00\r\nCentral America and the Caribbean,Saint Lucia,Personal Care,Online,C,4/29/2012,133336961,6/13/2012,6225,81.73,56.67,508769.25,352770.75,155998.50\r\nMiddle East and North Africa,Qatar,Meat,Online,H,8/30/2016,635309588,10/14/2016,1080,421.89,364.69,455641.20,393865.20,61776.00\r\nSub-Saharan Africa,Mozambique,Beverages,Online,C,12/20/2014,376547658,12/26/2014,7675,47.45,31.79,364178.75,243988.25,120190.50\r\nMiddle East and North Africa,Pakistan,Clothes,Offline,M,6/28/2010,450849997,7/21/2010,5388,109.28,35.84,588800.64,193105.92,395694.72\r\nAsia,Taiwan,Personal Care,Online,M,2/6/2015,672327935,2/6/2015,5631,81.73,56.67,460221.63,319108.77,141112.86\r\nCentral America and the Caribbean,Cuba,Cereal,Offline,L,3/30/2015,925405299,5/1/2015,6847,205.70,117.11,1408427.90,801852.17,606575.73\r\nCentral America and the Caribbean,Cuba,Household,Offline,H,7/28/2013,714818418,8/24/2013,9509,668.27,502.54,6354579.43,4778652.86,1575926.57\r\nEurope,Russia,Beverages,Offline,C,1/6/2010,515616118,2/5/2010,1122,47.45,31.79,53238.90,35668.38,17570.52\r\nEurope,Switzerland,Cereal,Offline,C,2/20/2013,423159730,4/11/2013,1222,205.70,117.11,251365.40,143108.42,108256.98\r\nEurope,Czech Republic,Personal Care,Offline,H,8/25/2013,603123080,9/29/2013,6377,81.73,56.67,521192.21,361384.59,159807.62\r\nEurope,Poland,Meat,Offline,C,11/16/2010,841492497,12/31/2010,5185,421.89,364.69,2187499.65,1890917.65,296582.00\r\nSub-Saharan Africa,Mauritius ,Cereal,Offline,L,8/2/2016,994566810,9/1/2016,3275,205.70,117.11,673667.50,383535.25,290132.25\r\nMiddle East and North Africa,Pakistan,Vegetables,Offline,M,4/25/2013,538957345,4/25/2013,8310,154.06,90.93,1280238.60,755628.30,524610.30\r\nSub-Saharan Africa,South Africa,Fruits,Offline,L,3/2/2011,821587932,3/11/2011,4981,9.33,6.92,46472.73,34468.52,12004.21\r\nSub-Saharan Africa,Seychelles ,Household,Online,C,9/28/2013,109694898,10/16/2013,13,668.27,502.54,8687.51,6533.02,2154.49\r\nSub-Saharan Africa,Benin,Meat,Offline,M,5/5/2014,340827071,6/5/2014,7159,421.89,364.69,3020310.51,2610815.71,409494.80\r\nSub-Saharan Africa,Benin,Meat,Offline,L,11/28/2014,372845780,12/9/2014,2207,421.89,364.69,931111.23,804870.83,126240.40\r\nCentral America and the Caribbean,Nicaragua,Fruits,Online,M,8/30/2014,933924853,9/13/2014,7973,9.33,6.92,74388.09,55173.16,19214.93\r\nMiddle East and North Africa,Lebanon,Office Supplies,Online,L,11/20/2013,572550618,11/25/2013,9306,651.21,524.96,6060160.26,4885277.76,1174882.50\r\nEurope,Moldova ,Meat,Online,M,2/23/2010,607521903,4/5/2010,8086,421.89,364.69,3411402.54,2948883.34,462519.20\r\nMiddle East and North Africa,Tunisia ,Snacks,Online,H,3/20/2017,177950036,4/29/2017,8225,152.58,97.44,1254970.50,801444.00,453526.50\r\nAustralia and Oceania,Vanuatu,Beverages,Offline,M,11/8/2015,293258845,11/14/2015,664,47.45,31.79,31506.80,21108.56,10398.24\r\nSub-Saharan Africa,South Sudan,Beverages,Online,C,8/9/2010,683184659,8/23/2010,8377,47.45,31.79,397488.65,266304.83,131183.82\r\nEurope,Sweden,Cereal,Online,L,11/12/2010,247776305,11/30/2010,1370,205.70,117.11,281809.00,160440.70,121368.30\r\nEurope,Ireland,Meat,Offline,C,12/14/2011,207395112,1/26/2012,1677,421.89,364.69,707509.53,611585.13,95924.40\r\nEurope,Italy,Vegetables,Offline,L,1/10/2014,952714908,2/25/2014,8367,154.06,90.93,1289020.02,760811.31,528208.71\r\nEurope,Bosnia and Herzegovina,Vegetables,Online,C,10/3/2010,694722020,10/3/2010,2539,154.06,90.93,391158.34,230871.27,160287.07\r\nEurope,Bosnia and Herzegovina,Household,Online,H,10/15/2015,414715278,11/4/2015,2321,668.27,502.54,1551054.67,1166395.34,384659.33\r\nEurope,Poland,Snacks,Offline,M,7/20/2013,714306008,8/17/2013,7876,152.58,97.44,1201720.08,767437.44,434282.64\r\nMiddle East and North Africa,Kuwait,Snacks,Online,H,1/19/2016,465418040,2/26/2016,6396,152.58,97.44,975901.68,623226.24,352675.44\r\nSub-Saharan Africa,Sudan,Cereal,Online,M,8/17/2013,860287702,9/11/2013,7103,205.70,117.11,1461087.10,831832.33,629254.77\r\nMiddle East and North Africa,Saudi Arabia,Vegetables,Online,C,8/16/2016,461463820,8/20/2016,6254,154.06,90.93,963491.24,568676.22,394815.02\r\nSub-Saharan Africa,Swaziland,Baby Food,Offline,M,9/25/2013,151807725,9/29/2013,2134,255.28,159.42,544767.52,340202.28,204565.24\r\nSub-Saharan Africa,Rwanda,Meat,Offline,C,8/21/2013,884493243,10/2/2013,61,421.89,364.69,25735.29,22246.09,3489.20\r\nAsia,Cambodia,Cosmetics,Offline,M,12/10/2010,533006703,1/23/2011,7383,437.20,263.33,3227847.60,1944165.39,1283682.21\r\nSub-Saharan Africa,Central African Republic,Vegetables,Online,C,9/4/2012,641146934,10/4/2012,8480,154.06,90.93,1306428.80,771086.40,535342.40\r\nAsia,Maldives,Cosmetics,Offline,M,10/15/2011,573025262,11/14/2011,9764,437.20,263.33,4268820.80,2571154.12,1697666.68\r\nSub-Saharan Africa,Djibouti,Household,Offline,C,8/26/2013,663065516,9/9/2013,4676,668.27,502.54,3124830.52,2349877.04,774953.48\r\nAsia,Tajikistan,Beverages,Online,M,2/17/2017,866004025,3/4/2017,8691,47.45,31.79,412387.95,276286.89,136101.06\r\nAsia,Sri Lanka,Baby Food,Online,H,10/19/2010,306889617,10/21/2010,4312,255.28,159.42,1100767.36,687419.04,413348.32\r\nEurope,Montenegro,Personal Care,Online,M,7/30/2014,431083619,8/10/2014,6077,81.73,56.67,496673.21,344383.59,152289.62\r\nMiddle East and North Africa,United Arab Emirates,Personal Care,Online,H,5/21/2015,954259860,6/4/2015,5553,81.73,56.67,453846.69,314688.51,139158.18\r\nCentral America and the Caribbean,Dominican Republic,Personal Care,Offline,C,5/5/2016,312404668,6/21/2016,6338,81.73,56.67,518004.74,359174.46,158830.28\r\nSub-Saharan Africa,Seychelles ,Office Supplies,Offline,C,4/14/2010,611816871,5/16/2010,9063,651.21,524.96,5901916.23,4757712.48,1144203.75\r\nEurope,Iceland,Office Supplies,Online,C,10/26/2013,879107797,11/2/2013,6388,651.21,524.96,4159929.48,3353444.48,806485.00\r\nSub-Saharan Africa,Nigeria,Vegetables,Offline,C,7/21/2010,211201274,9/9/2010,8005,154.06,90.93,1233250.30,727894.65,505355.65\r\nSub-Saharan Africa,Rwanda,Fruits,Online,H,6/9/2015,925333631,7/25/2015,5639,9.33,6.92,52611.87,39021.88,13589.99\r\nEurope,Hungary,Snacks,Offline,C,6/3/2010,909053695,6/27/2010,8044,152.58,97.44,1227353.52,783807.36,443546.16\r\nEurope,Belarus,Baby Food,Online,L,5/17/2016,370222795,6/11/2016,6007,255.28,159.42,1533466.96,957635.94,575831.02\r\nSub-Saharan Africa,South Sudan,Cosmetics,Offline,H,8/3/2013,487014758,8/30/2013,7344,437.20,263.33,3210796.80,1933895.52,1276901.28\r\nEurope,Andorra,Vegetables,Online,M,9/15/2013,257915914,10/6/2013,1905,154.06,90.93,293484.30,173221.65,120262.65\r\nAsia,Japan,Meat,Offline,M,7/2/2010,551725089,8/10/2010,6569,421.89,364.69,2771395.41,2395648.61,375746.80\r\nCentral America and the Caribbean,El Salvador,Meat,Offline,L,12/18/2013,957553613,1/10/2014,248,421.89,364.69,104628.72,90443.12,14185.60\r\nSub-Saharan Africa,Kenya,Office Supplies,Offline,L,3/19/2016,234825313,3/23/2016,8883,651.21,524.96,5784698.43,4663219.68,1121478.75\r\nEurope,Bosnia and Herzegovina,Snacks,Online,M,6/9/2010,363276517,7/9/2010,449,152.58,97.44,68508.42,43750.56,24757.86\r\nEurope,Andorra,Personal Care,Online,M,5/21/2017,692956054,6/23/2017,9950,81.73,56.67,813213.50,563866.50,249347.00\r\nSub-Saharan Africa,Cape Verde,Cosmetics,Online,H,6/12/2013,194225251,6/19/2013,4423,437.20,263.33,1933735.60,1164708.59,769027.01\r\nAustralia and Oceania,Nauru,Fruits,Online,L,2/22/2010,607757937,4/5/2010,7934,9.33,6.92,74024.22,54903.28,19120.94\r\nEurope,Czech Republic,Cereal,Offline,H,6/29/2012,594540441,7/30/2012,6583,205.70,117.11,1354123.10,770935.13,583187.97\r\nEurope,Serbia,Vegetables,Online,L,3/23/2015,685871589,4/5/2015,3500,154.06,90.93,539210.00,318255.00,220955.00\r\nAustralia and Oceania,Tuvalu,Cereal,Offline,C,2/12/2014,133362710,3/23/2014,3844,205.70,117.11,790710.80,450170.84,340539.96\r\nSub-Saharan Africa,Madagascar,Clothes,Offline,H,5/22/2017,958937633,7/5/2017,9810,109.28,35.84,1072036.80,351590.40,720446.40\r\nSub-Saharan Africa,Ethiopia,Vegetables,Online,C,8/6/2011,304832684,9/6/2011,5620,154.06,90.93,865817.20,511026.60,354790.60\r\nAsia,Malaysia,Baby Food,Offline,L,11/14/2010,783596694,12/24/2010,2530,255.28,159.42,645858.40,403332.60,242525.80\r\nSub-Saharan Africa,Tanzania,Household,Offline,C,4/5/2015,128090989,4/27/2015,3825,668.27,502.54,2556132.75,1922215.50,633917.25\r\nSub-Saharan Africa,Cote d'Ivoire,Vegetables,Offline,M,7/8/2014,641489398,7/28/2014,9823,154.06,90.93,1513331.38,893205.39,620125.99\r\nAustralia and Oceania,Solomon Islands,Clothes,Offline,M,8/9/2014,647278249,9/16/2014,2873,109.28,35.84,313961.44,102968.32,210993.12\r\nEurope,Netherlands,Clothes,Online,H,3/13/2011,339256370,3/31/2011,2354,109.28,35.84,257245.12,84367.36,172877.76\r\nSub-Saharan Africa,Mali,Baby Food,Offline,M,3/2/2016,431535089,3/19/2016,9677,255.28,159.42,2470344.56,1542707.34,927637.22\r\nMiddle East and North Africa,Afghanistan,Cereal,Offline,C,12/19/2015,808538234,1/16/2016,3286,205.70,117.11,675930.20,384823.46,291106.74\r\nEurope,Moldova ,Personal Care,Online,C,3/28/2013,975002133,4/7/2013,3653,81.73,56.67,298559.69,207015.51,91544.18\r\nAsia,Bhutan,Snacks,Online,H,6/27/2015,505975615,7/4/2015,8283,152.58,97.44,1263820.14,807095.52,456724.62\r\nAsia,Vietnam,Vegetables,Offline,M,2/18/2016,396820008,3/20/2016,6714,154.06,90.93,1034358.84,610504.02,423854.82\r\nEurope,Portugal,Vegetables,Online,H,6/14/2013,813209140,7/10/2013,5511,154.06,90.93,849024.66,501115.23,347909.43\r\nEurope,Spain,Baby Food,Online,M,5/10/2014,641129338,5/14/2014,3273,255.28,159.42,835531.44,521781.66,313749.78\r\nMiddle East and North Africa,Egypt,Meat,Offline,C,6/17/2015,636879432,7/3/2015,5632,421.89,364.69,2376084.48,2053934.08,322150.40\r\nEurope,Belgium,Snacks,Online,C,6/11/2014,277070748,7/2/2014,246,152.58,97.44,37534.68,23970.24,13564.44\r\nAsia,Malaysia,Cosmetics,Offline,H,11/3/2013,908627116,11/24/2013,1810,437.20,263.33,791332.00,476627.30,314704.70\r\nCentral America and the Caribbean,Dominican Republic,Cosmetics,Offline,C,4/2/2017,798784863,5/2/2017,7047,437.20,263.33,3080948.40,1855686.51,1225261.89\r\nEurope,Estonia,Beverages,Offline,H,5/28/2010,985092818,7/17/2010,9711,47.45,31.79,460786.95,308712.69,152074.26\r\nSub-Saharan Africa,Burundi,Snacks,Offline,C,5/22/2010,325412309,7/7/2010,5588,152.58,97.44,852617.04,544494.72,308122.32\r\nEurope,Latvia,Beverages,Online,M,6/2/2016,447917163,6/24/2016,7497,47.45,31.79,355732.65,238329.63,117403.02\r\nAsia,Tajikistan,Meat,Offline,M,8/22/2013,801093709,10/5/2013,285,421.89,364.69,120238.65,103936.65,16302.00\r\nSub-Saharan Africa,Zimbabwe,Fruits,Offline,H,10/5/2014,903740775,10/23/2014,5833,9.33,6.92,54421.89,40364.36,14057.53\r\nSub-Saharan Africa,Comoros,Meat,Offline,L,10/31/2010,794969689,11/13/2010,8052,421.89,364.69,3397058.28,2936483.88,460574.40\r\nSub-Saharan Africa,Namibia,Clothes,Online,L,11/27/2012,584204280,1/1/2013,7884,109.28,35.84,861563.52,282562.56,579000.96\r\nEurope,Slovenia,Cereal,Offline,H,5/22/2010,901180875,5/26/2010,8302,205.70,117.11,1707721.40,972247.22,735474.18\r\nEurope,Bulgaria,Snacks,Offline,L,8/31/2012,645948302,9/29/2012,9312,152.58,97.44,1420824.96,907361.28,513463.68\r\nSub-Saharan Africa,Guinea-Bissau,Cereal,Online,L,1/23/2015,138867890,2/22/2015,2950,205.70,117.11,606815.00,345474.50,261340.50\r\nSub-Saharan Africa,Lesotho,Beverages,Offline,L,3/2/2010,670613467,3/21/2010,8282,47.45,31.79,392980.90,263284.78,129696.12\r\nAsia,Sri Lanka,Cosmetics,Offline,L,5/9/2014,452171361,5/27/2014,6409,437.20,263.33,2802014.80,1687681.97,1114332.83\r\nAustralia and Oceania,East Timor,Snacks,Online,H,12/28/2010,464840400,2/5/2011,5459,152.58,97.44,832934.22,531924.96,301009.26\r\nEurope,Belarus,Household,Online,M,10/19/2014,410231912,10/24/2014,5594,668.27,502.54,3738302.38,2811208.76,927093.62\r\nSub-Saharan Africa,Benin,Meat,Offline,H,1/21/2015,960269725,2/22/2015,4006,421.89,364.69,1690091.34,1460948.14,229143.20\r\nEurope,Ireland,Beverages,Offline,L,4/4/2017,607190167,5/18/2017,9919,47.45,31.79,470656.55,315325.01,155331.54\r\nMiddle East and North Africa,Iran,Meat,Offline,H,8/5/2016,613542068,8/11/2016,9587,421.89,364.69,4044659.43,3496283.03,548376.40\r\nSub-Saharan Africa,Benin,Household,Offline,C,11/26/2016,962186753,1/12/2017,1297,668.27,502.54,866746.19,651794.38,214951.81\r\nSub-Saharan Africa,South Sudan,Beverages,Online,L,9/23/2011,806298053,10/24/2011,366,47.45,31.79,17366.70,11635.14,5731.56\r\nSub-Saharan Africa,Comoros,Personal Care,Online,L,10/24/2010,719362294,12/3/2010,4144,81.73,56.67,338689.12,234840.48,103848.64\r\nEurope,Poland,Baby Food,Online,H,8/14/2013,445178306,9/22/2013,7008,255.28,159.42,1789002.24,1117215.36,671786.88\r\nEurope,Bosnia and Herzegovina,Cosmetics,Offline,C,2/4/2013,247857415,2/15/2013,5372,437.20,263.33,2348638.40,1414608.76,934029.64\r\nSub-Saharan Africa,Namibia,Vegetables,Offline,C,8/11/2014,461823451,9/4/2014,2677,154.06,90.93,412418.62,243419.61,168999.01\r\nEurope,Spain,Office Supplies,Offline,C,1/12/2017,141812741,1/24/2017,4396,651.21,524.96,2862719.16,2307724.16,554995.00\r\nMiddle East and North Africa,Iran,Meat,Online,C,7/3/2016,212874114,8/17/2016,3036,421.89,364.69,1280858.04,1107198.84,173659.20\r\nCentral America and the Caribbean,Guatemala,Office Supplies,Offline,C,3/27/2010,320368897,4/2/2010,3131,651.21,524.96,2038938.51,1643649.76,395288.75\r\nAustralia and Oceania,East Timor,Beverages,Online,C,6/5/2015,179970920,6/25/2015,6249,47.45,31.79,296515.05,198655.71,97859.34\r\nMiddle East and North Africa,Bahrain,Household,Online,H,6/27/2012,927666509,7/17/2012,5990,668.27,502.54,4002937.30,3010214.60,992722.70\r\nSub-Saharan Africa,Ethiopia,Office Supplies,Online,L,12/19/2016,169754493,1/20/2017,2982,651.21,524.96,1941908.22,1565430.72,376477.50\r\nAustralia and Oceania,Solomon Islands,Personal Care,Offline,M,3/9/2015,532846200,4/20/2015,9886,81.73,56.67,807982.78,560239.62,247743.16\r\nCentral America and the Caribbean,Belize,Snacks,Online,C,6/18/2013,213865458,7/13/2013,6397,152.58,97.44,976054.26,623323.68,352730.58\r\nAsia,Sri Lanka,Office Supplies,Online,C,8/12/2011,630048596,9/3/2011,4236,651.21,524.96,2758525.56,2223730.56,534795.00\r\nCentral America and the Caribbean,Costa Rica,Clothes,Offline,H,4/17/2014,568944442,4/24/2014,2158,109.28,35.84,235826.24,77342.72,158483.52\r\nSub-Saharan Africa,Nigeria,Baby Food,Online,L,2/3/2012,238414323,2/27/2012,951,255.28,159.42,242771.28,151608.42,91162.86\r\nMiddle East and North Africa,Iran,Office Supplies,Online,L,8/1/2015,816632068,9/19/2015,8431,651.21,524.96,5490351.51,4425937.76,1064413.75\r\nSub-Saharan Africa,Djibouti,Baby Food,Online,C,9/11/2013,402084004,10/5/2013,4447,255.28,159.42,1135230.16,708940.74,426289.42\r\nAsia,South Korea,Snacks,Online,L,5/8/2015,763568961,6/7/2015,5879,152.58,97.44,897017.82,572849.76,324168.06\r\nCentral America and the Caribbean,Dominica,Snacks,Offline,L,5/22/2015,590198266,6/1/2015,1637,152.58,97.44,249773.46,159509.28,90264.18\r\nAsia,Vietnam,Snacks,Online,L,7/3/2013,441395747,8/19/2013,7665,152.58,97.44,1169525.70,746877.60,422648.10\r\nEurope,Norway,Personal Care,Offline,H,6/16/2010,496897733,7/21/2010,1936,81.73,56.67,158229.28,109713.12,48516.16\r\nCentral America and the Caribbean,Haiti,Beverages,Online,C,11/8/2011,106753051,11/14/2011,9455,47.45,31.79,448639.75,300574.45,148065.30\r\nCentral America and the Caribbean,Jamaica,Fruits,Offline,L,10/17/2016,941323029,10/27/2016,7258,9.33,6.92,67717.14,50225.36,17491.78\r\nSub-Saharan Africa,Sudan,Vegetables,Offline,M,2/2/2014,241281497,3/3/2014,9412,154.06,90.93,1450012.72,855833.16,594179.56\r\nSub-Saharan Africa,Angola,Meat,Offline,L,4/30/2016,267614781,5/12/2016,2016,421.89,364.69,850530.24,735215.04,115315.20\r\nCentral America and the Caribbean,Panama,Cosmetics,Offline,M,8/31/2010,651621711,10/16/2010,8200,437.20,263.33,3585040.00,2159306.00,1425734.00\r\nEurope,Greece,Personal Care,Online,M,8/8/2015,644913613,9/7/2015,3124,81.73,56.67,255324.52,177037.08,78287.44\r\nSub-Saharan Africa,Madagascar,Cereal,Offline,H,8/18/2016,469414317,8/19/2016,8983,205.70,117.11,1847803.10,1051999.13,795803.97\r\nSub-Saharan Africa,Guinea-Bissau,Clothes,Online,L,6/18/2015,867360150,7/1/2015,9998,109.28,35.84,1092581.44,358328.32,734253.12\r\nNorth America,Greenland,Clothes,Online,L,1/28/2011,851299941,2/1/2011,7425,109.28,35.84,811404.00,266112.00,545292.00\r\nMiddle East and North Africa,Libya,Beverages,Offline,H,2/4/2011,854095017,3/4/2011,4550,47.45,31.79,215897.50,144644.50,71253.00\r\nEurope,Belarus,Vegetables,Offline,C,11/3/2012,478919208,11/27/2012,1691,154.06,90.93,260515.46,153762.63,106752.83\r\nMiddle East and North Africa,Lebanon,Clothes,Offline,H,9/18/2014,749258840,11/5/2014,1196,109.28,35.84,130698.88,42864.64,87834.24\r\nSub-Saharan Africa,Djibouti,Baby Food,Offline,H,5/17/2012,958912742,6/28/2012,2444,255.28,159.42,623904.32,389622.48,234281.84\r\nCentral America and the Caribbean,Barbados,Personal Care,Online,C,2/20/2010,921992242,3/4/2010,6848,81.73,56.67,559687.04,388076.16,171610.88\r\nSub-Saharan Africa,Guinea-Bissau,Vegetables,Online,L,2/28/2017,522921168,3/2/2017,2849,154.06,90.93,438916.94,259059.57,179857.37\r\nEurope,Finland,Personal Care,Offline,C,5/17/2013,166435849,6/7/2013,921,81.73,56.67,75273.33,52193.07,23080.26\r\nCentral America and the Caribbean,Haiti,Baby Food,Offline,L,11/9/2013,327585113,11/23/2013,8569,255.28,159.42,2187494.32,1366069.98,821424.34\r\nSub-Saharan Africa,Niger,Clothes,Offline,M,1/10/2012,201730287,2/19/2012,5330,109.28,35.84,582462.40,191027.20,391435.20\r\nCentral America and the Caribbean,Trinidad and Tobago,Fruits,Offline,L,9/24/2013,854545199,11/9/2013,7769,9.33,6.92,72484.77,53761.48,18723.29\r\nCentral America and the Caribbean,Grenada,Personal Care,Online,M,9/26/2010,272016179,11/8/2010,4487,81.73,56.67,366722.51,254278.29,112444.22\r\nCentral America and the Caribbean,Dominican Republic,Cereal,Offline,H,10/21/2014,110442054,11/20/2014,1113,205.70,117.11,228944.10,130343.43,98600.67\r\nEurope,Monaco,Household,Offline,C,1/17/2016,746434152,2/5/2016,5308,668.27,502.54,3547177.16,2667482.32,879694.84\r\nEurope,Estonia,Vegetables,Online,L,12/27/2016,826916301,1/7/2017,1764,154.06,90.93,271761.84,160400.52,111361.32\r\nEurope,Italy,Beverages,Offline,H,8/30/2013,419124829,9/19/2013,7206,47.45,31.79,341924.70,229078.74,112845.96\r\nAsia,Malaysia,Office Supplies,Online,C,7/7/2014,560608565,8/24/2014,5387,651.21,524.96,3508068.27,2827959.52,680108.75\r\nSub-Saharan Africa,Ghana,Office Supplies,Offline,L,11/29/2013,109228837,12/7/2013,2095,651.21,524.96,1364284.95,1099791.20,264493.75\r\nMiddle East and North Africa,Pakistan,Clothes,Offline,C,1/29/2011,693159472,2/5/2011,146,109.28,35.84,15954.88,5232.64,10722.24\r\nAsia,Sri Lanka,Snacks,Offline,L,11/13/2013,860886800,11/23/2013,4390,152.58,97.44,669826.20,427761.60,242064.60\r\nEurope,Romania,Fruits,Offline,C,4/9/2012,131209647,5/3/2012,6705,9.33,6.92,62557.65,46398.60,16159.05\r\nMiddle East and North Africa,Qatar,Office Supplies,Online,H,6/28/2012,343239343,7/13/2012,1004,651.21,524.96,653814.84,527059.84,126755.00\r\nSub-Saharan Africa,Cote d'Ivoire,Clothes,Online,H,6/8/2010,706399714,7/19/2010,8228,109.28,35.84,899155.84,294891.52,604264.32\r\nMiddle East and North Africa,Egypt,Office Supplies,Online,M,8/23/2010,950427091,9/14/2010,1352,651.21,524.96,880435.92,709745.92,170690.00\r\nMiddle East and North Africa,Iran,Snacks,Offline,H,12/11/2014,875370299,12/28/2014,379,152.58,97.44,57827.82,36929.76,20898.06\r\nMiddle East and North Africa,Somalia,Clothes,Online,C,1/27/2011,801590669,3/15/2011,7347,109.28,35.84,802880.16,263316.48,539563.68\r\nMiddle East and North Africa,Syria,Personal Care,Offline,C,5/7/2014,219762027,5/28/2014,1322,81.73,56.67,108047.06,74917.74,33129.32\r\nAustralia and Oceania,Solomon Islands,Cereal,Offline,C,11/8/2010,940870702,11/21/2010,3404,205.70,117.11,700202.80,398642.44,301560.36\r\nCentral America and the Caribbean,Guatemala,Fruits,Online,M,3/30/2014,346215522,5/4/2014,1721,9.33,6.92,16056.93,11909.32,4147.61\r\nMiddle East and North Africa,Kuwait,Clothes,Offline,C,7/9/2016,837407815,7/20/2016,6436,109.28,35.84,703326.08,230666.24,472659.84\r\nMiddle East and North Africa,Jordan,Meat,Online,L,7/15/2014,386371409,7/19/2014,4741,421.89,364.69,2000180.49,1728995.29,271185.20\r\nAustralia and Oceania,Marshall Islands,Beverages,Offline,H,10/14/2013,185342633,11/24/2013,5859,47.45,31.79,278009.55,186257.61,91751.94\r\nMiddle East and North Africa,Egypt,Snacks,Offline,C,1/13/2017,596870315,2/18/2017,6045,152.58,97.44,922346.10,589024.80,333321.30\r\nEurope,Switzerland,Meat,Online,C,12/22/2012,703815782,1/7/2013,3585,421.89,364.69,1512475.65,1307413.65,205062.00\r\nAustralia and Oceania,Samoa ,Personal Care,Online,C,4/16/2010,559352862,6/4/2010,3797,81.73,56.67,310328.81,215175.99,95152.82\r\nEurope,Portugal,Cosmetics,Offline,C,2/27/2011,736967885,3/12/2011,4029,437.20,263.33,1761478.80,1060956.57,700522.23\r\nEurope,Albania,Clothes,Offline,C,1/14/2015,980459678,2/9/2015,8661,109.28,35.84,946474.08,310410.24,636063.84\r\nCentral America and the Caribbean,Dominica,Vegetables,Offline,C,11/16/2014,653939568,12/6/2014,4105,154.06,90.93,632416.30,373267.65,259148.65\r\nAustralia and Oceania,Tuvalu,Cosmetics,Online,H,1/17/2016,991831386,1/29/2016,3803,437.20,263.33,1662671.60,1001443.99,661227.61\r\nAustralia and Oceania,Marshall Islands,Cereal,Online,L,5/29/2017,148871457,7/6/2017,3227,205.70,117.11,663793.90,377913.97,285879.93\r\nEurope,Bulgaria,Fruits,Online,H,2/10/2015,850108611,2/25/2015,4884,9.33,6.92,45567.72,33797.28,11770.44\r\nSub-Saharan Africa,Niger,Office Supplies,Offline,M,12/8/2013,940904176,1/7/2014,3309,651.21,524.96,2154853.89,1737092.64,417761.25\r\nCentral America and the Caribbean,Saint Vincent and the Grenadines,Office Supplies,Offline,H,12/10/2015,136931979,12/13/2015,70,651.21,524.96,45584.70,36747.20,8837.50\r\nSub-Saharan Africa,Malawi,Beverages,Offline,L,9/4/2016,474178349,9/26/2016,8766,47.45,31.79,415946.70,278671.14,137275.56\r\nSub-Saharan Africa,Cape Verde,Personal Care,Offline,L,7/19/2016,458942115,7/29/2016,25,81.73,56.67,2043.25,1416.75,626.50\r\nCentral America and the Caribbean,Saint Vincent and the Grenadines,Beverages,Offline,C,1/9/2017,917834603,1/13/2017,6510,47.45,31.79,308899.50,206952.90,101946.60\r\nEurope,Greece,Personal Care,Offline,H,11/5/2016,947779643,12/5/2016,7913,81.73,56.67,646729.49,448429.71,198299.78\r\nEurope,Monaco,Clothes,Online,L,10/31/2015,166013562,11/26/2015,5957,109.28,35.84,650980.96,213498.88,437482.08\r\nSub-Saharan Africa,Nigeria,Beverages,Online,L,1/25/2011,960085189,2/13/2011,9397,47.45,31.79,445887.65,298730.63,147157.02\r\nEurope,Norway,Cosmetics,Offline,C,11/8/2015,837855851,11/8/2015,9020,437.20,263.33,3943544.00,2375236.60,1568307.40\r\nNorth America,Greenland,Snacks,Offline,L,6/24/2010,977499377,8/12/2010,2643,152.58,97.44,403268.94,257533.92,145735.02\r\nMiddle East and North Africa,Tunisia ,Beverages,Online,L,2/27/2014,377502095,3/3/2014,114,47.45,31.79,5409.30,3624.06,1785.24\r\nAsia,Uzbekistan,Meat,Offline,H,2/5/2013,806662833,3/27/2013,8313,421.89,364.69,3507171.57,3031667.97,475503.60\r\nCentral America and the Caribbean,Saint Kitts and Nevis ,Vegetables,Online,H,4/15/2017,954092919,5/11/2017,6152,154.06,90.93,947777.12,559401.36,388375.76\r\nCentral America and the Caribbean,Belize,Meat,Online,L,4/9/2011,479216182,4/26/2011,9572,421.89,364.69,4038331.08,3490812.68,547518.40\r\nSub-Saharan Africa,Angola,Personal Care,Online,H,12/13/2010,461768949,12/30/2010,6548,81.73,56.67,535168.04,371075.16,164092.88\r\nAsia,Bhutan,Meat,Online,C,5/13/2014,251800048,5/22/2014,2085,421.89,364.69,879640.65,760378.65,119262.00\r\nCentral America and the Caribbean,Honduras,Personal Care,Offline,L,1/16/2013,619670808,2/25/2013,3217,81.73,56.67,262925.41,182307.39,80618.02\r\nSub-Saharan Africa,South Sudan,Household,Offline,H,12/9/2010,606055057,1/23/2011,4014,668.27,502.54,2682435.78,2017195.56,665240.22\r\nAsia,Kyrgyzstan,Baby Food,Online,L,1/24/2013,671939122,2/14/2013,573,255.28,159.42,146275.44,91347.66,54927.78\r\nSub-Saharan Africa,Sao Tome and Principe,Cosmetics,Offline,M,2/25/2014,448621833,3/3/2014,6025,437.20,263.33,2634130.00,1586563.25,1047566.75\r\nSub-Saharan Africa,Madagascar,Fruits,Online,M,7/23/2017,987714517,9/11/2017,5530,9.33,6.92,51594.90,38267.60,13327.30\r\nSub-Saharan Africa,Senegal,Household,Online,H,5/7/2016,711141002,6/14/2016,1280,668.27,502.54,855385.60,643251.20,212134.40\r\nSub-Saharan Africa,Sierra Leone,Office Supplies,Online,C,3/24/2012,361137616,4/18/2012,7501,651.21,524.96,4884726.21,3937724.96,947001.25\r\nAsia,Malaysia,Household,Offline,H,10/3/2011,750253188,11/21/2011,5446,668.27,502.54,3639398.42,2736832.84,902565.58\r\nCentral America and the Caribbean,Cuba,Office Supplies,Online,C,12/22/2014,511349046,1/2/2015,8401,651.21,524.96,5470815.21,4410188.96,1060626.25\r\nSub-Saharan Africa,Zimbabwe,Personal Care,Offline,L,8/23/2011,147599017,8/28/2011,6684,81.73,56.67,546283.32,378782.28,167501.04\r\nEurope,Serbia,Beverages,Online,H,4/18/2015,682489430,5/23/2015,2644,47.45,31.79,125457.80,84052.76,41405.04\r\nAsia,Maldives,Vegetables,Offline,M,1/11/2014,509819114,2/23/2014,5660,154.06,90.93,871979.60,514663.80,357315.80\r\nEurope,Ireland,Office Supplies,Offline,M,2/27/2012,343699395,4/2/2012,7144,651.21,524.96,4652244.24,3750314.24,901930.00\r\nEurope,Romania,Clothes,Offline,L,4/4/2011,968554103,4/8/2011,5537,109.28,35.84,605083.36,198446.08,406637.28\r\nEurope,Croatia,Beverages,Online,M,12/26/2013,989119565,1/6/2014,1315,47.45,31.79,62396.75,41803.85,20592.90\r\nEurope,Albania,Vegetables,Offline,M,9/12/2012,880444610,10/31/2012,1980,154.06,90.93,305038.80,180041.40,124997.40\r\nCentral America and the Caribbean,Dominican Republic,Vegetables,Offline,L,12/19/2015,737890565,1/15/2016,7071,154.06,90.93,1089358.26,642966.03,446392.23\r\nSub-Saharan Africa,Zimbabwe,Vegetables,Online,M,6/26/2014,727131259,8/9/2014,3153,154.06,90.93,485751.18,286702.29,199048.89\r\nSub-Saharan Africa,Ghana,Office Supplies,Offline,L,3/2/2015,634153020,3/11/2015,8826,651.21,524.96,5747579.46,4633296.96,1114282.50\r\nAsia,Laos,Beverages,Online,H,8/17/2014,315254676,9/8/2014,9719,47.45,31.79,461166.55,308967.01,152199.54\r\nCentral America and the Caribbean,Panama,Personal Care,Offline,M,7/19/2010,147047555,9/3/2010,3494,81.73,56.67,285564.62,198004.98,87559.64\r\nSub-Saharan Africa,Angola,Household,Online,L,1/14/2013,576455485,2/13/2013,4843,668.27,502.54,3236431.61,2433801.22,802630.39\r\nMiddle East and North Africa,Syria,Snacks,Offline,L,7/19/2010,770714795,8/26/2010,490,152.58,97.44,74764.20,47745.60,27018.60\r\nSub-Saharan Africa,Sierra Leone,Cosmetics,Offline,H,7/11/2011,867374312,8/3/2011,4189,437.20,263.33,1831430.80,1103089.37,728341.43\r\nSub-Saharan Africa,Uganda,Fruits,Online,L,5/4/2010,624295365,6/23/2010,1727,9.33,6.92,16112.91,11950.84,4162.07\r\nAsia,Taiwan,Clothes,Offline,M,10/13/2013,769651782,11/3/2013,5921,109.28,35.84,647046.88,212208.64,434838.24\r\nMiddle East and North Africa,Azerbaijan,Vegetables,Online,C,7/27/2014,751929891,8/1/2014,1619,154.06,90.93,249423.14,147215.67,102207.47\r\nAsia,Maldives,Office Supplies,Online,H,4/4/2010,989928519,4/11/2010,702,651.21,524.96,457149.42,368521.92,88627.50\r\nSub-Saharan Africa,Mauritania,Meat,Offline,H,8/17/2014,622758996,10/1/2014,7081,421.89,364.69,2987403.09,2582369.89,405033.20\r\nSub-Saharan Africa,Burundi,Baby Food,Online,H,1/4/2016,659845149,1/29/2016,1698,255.28,159.42,433465.44,270695.16,162770.28\r\nSub-Saharan Africa,Zambia,Baby Food,Offline,H,5/17/2011,830923306,6/5/2011,7526,255.28,159.42,1921237.28,1199794.92,721442.36\r\nAsia,Singapore,Beverages,Offline,L,2/12/2010,936042296,3/17/2010,4571,47.45,31.79,216893.95,145312.09,71581.86\r\nSub-Saharan Africa,Ghana,Household,Online,L,2/17/2015,395563447,3/30/2015,4869,668.27,502.54,3253806.63,2446867.26,806939.37\r\nSub-Saharan Africa,Guinea,Meat,Offline,M,6/7/2011,500160586,6/7/2011,7487,421.89,364.69,3158690.43,2730434.03,428256.40\r\nSub-Saharan Africa,Zambia,Fruits,Online,L,5/26/2015,360820043,7/2/2015,3524,9.33,6.92,32878.92,24386.08,8492.84\r\nEurope,Georgia,Snacks,Online,C,5/24/2010,958840644,6/2/2010,1109,152.58,97.44,169211.22,108060.96,61150.26\r\nMiddle East and North Africa,Bahrain,Baby Food,Online,M,2/21/2011,195833718,4/7/2011,404,255.28,159.42,103133.12,64405.68,38727.44\r\nSub-Saharan Africa,Lesotho,Personal Care,Offline,M,6/28/2014,543723094,7/2/2014,8601,81.73,56.67,702959.73,487418.67,215541.06\r\nCentral America and the Caribbean,Barbados,Cosmetics,Offline,H,10/15/2010,494745099,10/30/2010,4924,437.20,263.33,2152772.80,1296636.92,856135.88\r\nMiddle East and North Africa,Saudi Arabia,Vegetables,Online,H,5/18/2010,411448562,6/30/2010,5628,154.06,90.93,867049.68,511754.04,355295.64\r\nEurope,Macedonia,Personal Care,Offline,H,2/2/2017,276694810,2/16/2017,8998,81.73,56.67,735406.54,509916.66,225489.88\r\nAsia,Turkmenistan,Office Supplies,Offline,M,11/24/2016,143657672,1/8/2017,352,651.21,524.96,229225.92,184785.92,44440.00\r\nEurope,Albania,Baby Food,Online,L,12/23/2011,585823476,1/6/2012,7040,255.28,159.42,1797171.20,1122316.80,674854.40\r\nMiddle East and North Africa,Afghanistan,Clothes,Online,C,12/5/2016,446991050,1/16/2017,3440,109.28,35.84,375923.20,123289.60,252633.60\r\nAustralia and Oceania,Kiribati,Clothes,Offline,M,2/16/2017,891271722,2/22/2017,5963,109.28,35.84,651636.64,213713.92,437922.72\r\nMiddle East and North Africa,Morocco,Cosmetics,Online,C,5/18/2010,453089320,6/16/2010,8053,437.20,263.33,3520771.60,2120596.49,1400175.11\r\nEurope,Norway,Baby Food,Offline,L,9/7/2010,887180173,10/18/2010,5183,255.28,159.42,1323116.24,826273.86,496842.38\r\nEurope,Sweden,Cosmetics,Online,L,3/12/2014,418593108,3/25/2014,9858,437.20,263.33,4309917.60,2595907.14,1714010.46\r\nAsia,Tajikistan,Personal Care,Online,M,7/16/2010,492689454,8/16/2010,6613,81.73,56.67,540480.49,374758.71,165721.78\r\nEurope,Netherlands,Cosmetics,Online,M,12/5/2016,825143039,12/20/2016,7017,437.20,263.33,3067832.40,1847786.61,1220045.79\r\nEurope,Spain,Vegetables,Online,L,10/8/2013,751940190,10/10/2013,4667,154.06,90.93,718998.02,424370.31,294627.71\r\nSub-Saharan Africa,Chad,Baby Food,Offline,H,8/9/2016,579379737,8/26/2016,194,255.28,159.42,49524.32,30927.48,18596.84\r\nEurope,Ireland,Meat,Online,C,10/6/2011,234073007,11/20/2011,6259,421.89,364.69,2640609.51,2282594.71,358014.80\r\nMiddle East and North Africa,Pakistan,Meat,Online,C,2/17/2013,612943828,3/1/2013,2554,421.89,364.69,1077507.06,931418.26,146088.80\r\nSub-Saharan Africa,Mozambique,Fruits,Online,C,12/14/2012,433228528,12/21/2012,804,9.33,6.92,7501.32,5563.68,1937.64\r\nMiddle East and North Africa,Bahrain,Fruits,Online,L,11/20/2015,282475936,11/28/2015,9762,9.33,6.92,91079.46,67553.04,23526.42\r\nAsia,Tajikistan,Meat,Online,M,7/7/2012,368547379,7/12/2012,214,421.89,364.69,90284.46,78043.66,12240.80\r\nAustralia and Oceania,New Zealand,Meat,Offline,H,6/2/2013,969616687,6/28/2013,9980,421.89,364.69,4210462.20,3639606.20,570856.00\r\nSub-Saharan Africa,Niger,Baby Food,Online,L,2/4/2015,184170186,2/17/2015,8906,255.28,159.42,2273523.68,1419794.52,853729.16\r\nEurope,Armenia,Fruits,Online,C,4/28/2011,681006705,6/14/2011,3872,9.33,6.92,36125.76,26794.24,9331.52\r\nSub-Saharan Africa,Gabon,Baby Food,Online,L,2/1/2012,249237573,2/21/2012,3791,255.28,159.42,967766.48,604361.22,363405.26\r\nAsia,Kyrgyzstan,Vegetables,Offline,H,1/29/2017,348286616,2/13/2017,4604,154.06,90.93,709292.24,418641.72,290650.52\r\nAustralia and Oceania,Fiji,Clothes,Offline,L,12/1/2011,257890164,12/29/2011,4285,109.28,35.84,468264.80,153574.40,314690.40\r\nEurope,Romania,Cosmetics,Online,H,5/8/2017,228097045,6/17/2017,7839,437.20,263.33,3427210.80,2064243.87,1362966.93\r\nSub-Saharan Africa,Botswana,Cereal,Online,C,5/3/2017,129268586,6/21/2017,2302,205.70,117.11,473521.40,269587.22,203934.18\r\nAustralia and Oceania,Fiji,Cosmetics,Online,M,10/31/2015,802078616,12/9/2015,1741,437.20,263.33,761165.20,458457.53,302707.67\r\nEurope,Vatican City,Clothes,Offline,C,4/11/2010,907513463,4/19/2010,2256,109.28,35.84,246535.68,80855.04,165680.64\r\nAsia,Thailand,Vegetables,Online,L,7/17/2010,976871955,8/31/2010,6975,154.06,90.93,1074568.50,634236.75,440331.75\r\nEurope,Belarus,Cereal,Offline,C,5/31/2012,261765420,7/17/2012,1060,205.70,117.11,218042.00,124136.60,93905.40\r\nAustralia and Oceania,Solomon Islands,Vegetables,Offline,L,7/15/2016,784117686,7/17/2016,6703,154.06,90.93,1032664.18,609503.79,423160.39\r\nAsia,China,Cosmetics,Offline,M,1/14/2017,586165082,1/27/2017,8128,437.20,263.33,3553561.60,2140346.24,1413215.36\r\nSub-Saharan Africa,Angola,Snacks,Online,C,11/26/2012,480456435,12/16/2012,6591,152.58,97.44,1005654.78,642227.04,363427.74\r\nAsia,Cambodia,Cereal,Online,L,10/3/2011,899853074,10/26/2011,5376,205.70,117.11,1105843.20,629583.36,476259.84\r\nCentral America and the Caribbean,Guatemala,Baby Food,Offline,L,11/30/2010,547528827,12/15/2010,4802,255.28,159.42,1225854.56,765534.84,460319.72\r\nSub-Saharan Africa,Namibia,Vegetables,Online,L,5/8/2016,446970021,5/9/2016,7217,154.06,90.93,1111851.02,656241.81,455609.21\r\nEurope,Serbia,Beverages,Offline,H,2/27/2016,791975486,3/20/2016,2001,47.45,31.79,94947.45,63611.79,31335.66\r\nMiddle East and North Africa,Turkey,Vegetables,Offline,M,8/24/2014,496656548,9/29/2014,564,154.06,90.93,86889.84,51284.52,35605.32\r\nMiddle East and North Africa,Pakistan,Vegetables,Offline,C,5/26/2013,345437037,6/30/2013,1351,154.06,90.93,208135.06,122846.43,85288.63\r\nEurope,Georgia,Vegetables,Offline,H,1/26/2015,743053281,2/23/2015,4833,154.06,90.93,744571.98,439464.69,305107.29\r\nAustralia and Oceania,Vanuatu,Snacks,Offline,L,1/7/2012,364554107,1/18/2012,8516,152.58,97.44,1299371.28,829799.04,469572.24\r\nEurope,Luxembourg,Cosmetics,Online,H,10/21/2012,205300843,12/3/2012,1937,437.20,263.33,846856.40,510070.21,336786.19\r\nMiddle East and North Africa,Saudi Arabia,Household,Online,M,9/16/2015,430967319,10/5/2015,1661,668.27,502.54,1109996.47,834718.94,275277.53\r\nAustralia and Oceania,Vanuatu,Meat,Offline,H,6/28/2012,827539861,7/1/2012,6289,421.89,364.69,2653266.21,2293535.41,359730.80\r\nCentral America and the Caribbean,Haiti,Snacks,Offline,H,12/2/2014,351317298,1/14/2015,1450,152.58,97.44,221241.00,141288.00,79953.00\r\nSub-Saharan Africa,Tanzania,Household,Offline,C,2/4/2013,278910958,2/4/2013,4805,668.27,502.54,3211037.35,2414704.70,796332.65\r\nAsia,North Korea,Cosmetics,Offline,C,2/17/2017,157244670,3/15/2017,1047,437.20,263.33,457748.40,275706.51,182041.89\r\nMiddle East and North Africa,Bahrain,Beverages,Online,L,6/24/2015,953554761,7/28/2015,6899,47.45,31.79,327357.55,219319.21,108038.34\r\nSub-Saharan Africa,Cote d'Ivoire,Cereal,Online,L,7/30/2016,105390059,8/25/2016,6115,205.70,117.11,1257855.50,716127.65,541727.85\r\nAsia,Singapore,Cosmetics,Offline,L,10/23/2014,970611894,11/10/2014,4483,437.20,263.33,1959967.60,1180508.39,779459.21\r\nAsia,Malaysia,Baby Food,Offline,M,12/16/2016,677394092,12/29/2016,4820,255.28,159.42,1230449.60,768404.40,462045.20\r\nEurope,Albania,Baby Food,Online,L,9/28/2015,474222981,10/26/2015,1973,255.28,159.42,503667.44,314535.66,189131.78\r\nSub-Saharan Africa,Gabon,Snacks,Online,L,4/16/2016,779897391,5/5/2016,7824,152.58,97.44,1193785.92,762370.56,431415.36\r\nEurope,Poland,Snacks,Offline,L,3/27/2017,733528649,3/30/2017,6283,152.58,97.44,958660.14,612215.52,346444.62\r\nSub-Saharan Africa,Chad,Office Supplies,Online,H,6/25/2014,444540584,8/2/2014,8292,651.21,524.96,5399833.32,4352968.32,1046865.00\r\nSub-Saharan Africa,Republic of the Congo,Clothes,Online,H,7/29/2012,542669522,9/11/2012,6826,109.28,35.84,745945.28,244643.84,501301.44\r\nAsia,Philippines,Fruits,Offline,L,5/4/2013,827964293,6/1/2013,1888,9.33,6.92,17615.04,13064.96,4550.08\r\nEurope,France,Snacks,Offline,M,2/2/2012,720786225,2/15/2012,5516,152.58,97.44,841631.28,537479.04,304152.24\r\nEurope,Germany,Household,Offline,H,7/24/2016,611809146,8/1/2016,6777,668.27,502.54,4528865.79,3405713.58,1123152.21\r\nSub-Saharan Africa,Uganda,Personal Care,Online,M,11/4/2012,512019383,12/12/2012,6769,81.73,56.67,553230.37,383599.23,169631.14\r\nMiddle East and North Africa,Bahrain,Personal Care,Online,C,8/5/2014,502715766,8/17/2014,3621,81.73,56.67,295944.33,205202.07,90742.26\r\nMiddle East and North Africa,Jordan,Office Supplies,Offline,M,10/22/2013,285509622,10/28/2013,7497,651.21,524.96,4882121.37,3935625.12,946496.25\r\nEurope,Montenegro,Beverages,Offline,L,12/1/2014,532324779,1/3/2015,5586,47.45,31.79,265055.70,177578.94,87476.76\r\nMiddle East and North Africa,Tunisia ,Personal Care,Offline,H,11/2/2015,635397565,11/21/2015,7114,81.73,56.67,581427.22,403150.38,178276.84\r\nEurope,Germany,Cereal,Offline,M,10/7/2011,957276809,11/4/2011,8335,205.70,117.11,1714509.50,976111.85,738397.65\r\nEurope,Italy,Snacks,Online,L,2/9/2014,580823838,3/21/2014,7536,152.58,97.44,1149842.88,734307.84,415535.04\r\nEurope,France,Office Supplies,Offline,H,5/29/2016,459212481,6/16/2016,33,651.21,524.96,21489.93,17323.68,4166.25\r\nMiddle East and North Africa,Algeria,Baby Food,Online,L,4/8/2013,265929067,5/23/2013,3175,255.28,159.42,810514.00,506158.50,304355.50\r\nAsia,Myanmar,Beverages,Online,H,9/20/2011,644772422,10/26/2011,1343,47.45,31.79,63725.35,42693.97,21031.38\r\nEurope,France,Vegetables,Offline,C,4/12/2012,959853875,5/4/2012,947,154.06,90.93,145894.82,86110.71,59784.11\r\nEurope,Spain,Vegetables,Online,C,10/2/2012,645597255,10/25/2012,5429,154.06,90.93,836391.74,493658.97,342732.77\r\nAsia,Cambodia,Baby Food,Offline,C,1/2/2012,556738889,1/25/2012,264,255.28,159.42,67393.92,42086.88,25307.04\r\nSub-Saharan Africa,The Gambia,Vegetables,Online,M,9/30/2013,718327605,11/10/2013,7956,154.06,90.93,1225701.36,723439.08,502262.28\r\nEurope,Russia,Baby Food,Offline,L,3/10/2015,775724732,3/20/2015,3041,255.28,159.42,776306.48,484796.22,291510.26\r\nEurope,Belarus,Baby Food,Offline,H,10/26/2010,444604098,10/31/2010,7088,255.28,159.42,1809424.64,1129968.96,679455.68\r\nMiddle East and North Africa,Turkey,Beverages,Online,C,5/2/2011,860952031,5/13/2011,3693,47.45,31.79,175232.85,117400.47,57832.38\r\nSub-Saharan Africa,Kenya,Meat,Offline,C,2/19/2017,531067359,2/20/2017,3488,421.89,364.69,1471552.32,1272038.72,199513.60\r\nMiddle East and North Africa,Iran,Cosmetics,Offline,M,7/20/2014,281561410,8/2/2014,9133,437.20,263.33,3992947.60,2404992.89,1587954.71\r\nAsia,Vietnam,Personal Care,Offline,L,6/18/2017,109358012,7/10/2017,321,81.73,56.67,26235.33,18191.07,8044.26\r\nEurope,Albania,Beverages,Online,L,7/19/2010,531693494,8/6/2010,8775,47.45,31.79,416373.75,278957.25,137416.50\r\nCentral America and the Caribbean,Antigua and Barbuda ,Clothes,Offline,C,8/9/2013,336116683,9/4/2013,3251,109.28,35.84,355269.28,116515.84,238753.44\r\nSub-Saharan Africa,Senegal,Cereal,Offline,M,3/23/2017,630488908,4/30/2017,4534,205.70,117.11,932643.80,530976.74,401667.06\r\nEurope,Netherlands,Fruits,Online,L,10/31/2016,792983996,12/2/2016,441,9.33,6.92,4114.53,3051.72,1062.81\r\nEurope,Russia,Fruits,Online,C,7/3/2016,722088277,7/3/2016,822,9.33,6.92,7669.26,5688.24,1981.02\r\nEurope,Slovakia,Cosmetics,Online,H,1/7/2010,386600577,1/29/2010,2557,437.20,263.33,1117920.40,673334.81,444585.59\r\nAustralia and Oceania,East Timor,Beverages,Offline,L,12/6/2014,275632226,1/18/2015,4556,47.45,31.79,216182.20,144835.24,71346.96\r\nCentral America and the Caribbean,Haiti,Vegetables,Offline,H,10/16/2015,948607051,11/27/2015,2761,154.06,90.93,425359.66,251057.73,174301.93\r\nMiddle East and North Africa,Yemen,Cereal,Online,H,5/10/2013,785261380,5/26/2013,5147,205.70,117.11,1058737.90,602765.17,455972.73\r\nAustralia and Oceania,Tuvalu,Cereal,Online,C,3/27/2013,935644042,5/15/2013,6719,205.70,117.11,1382098.30,786862.09,595236.21\r\nSub-Saharan Africa,Liberia,Snacks,Offline,M,7/13/2014,370116364,8/17/2014,4512,152.58,97.44,688440.96,439649.28,248791.68\r\nAsia,North Korea,Beverages,Online,C,8/16/2013,829352176,8/26/2013,2594,47.45,31.79,123085.30,82463.26,40622.04\r\nAsia,North Korea,Household,Online,M,7/14/2015,974337804,8/7/2015,7063,668.27,502.54,4719991.01,3549440.02,1170550.99\r\nEurope,Romania,Household,Online,H,12/23/2014,436372077,1/3/2015,1050,668.27,502.54,701683.50,527667.00,174016.50\r\nSub-Saharan Africa,Sao Tome and Principe,Cereal,Offline,M,4/27/2015,267066323,5/19/2015,9715,205.70,117.11,1998375.50,1137723.65,860651.85\r\nMiddle East and North Africa,Bahrain,Fruits,Online,M,3/14/2017,688344371,4/28/2017,5251,9.33,6.92,48991.83,36336.92,12654.91\r\nMiddle East and North Africa,Somalia,Cosmetics,Offline,M,10/2/2014,642442548,11/2/2014,1881,437.20,263.33,822373.20,495323.73,327049.47\r\nEurope,Cyprus,Cereal,Online,C,7/13/2014,941909682,8/1/2014,861,205.70,117.11,177107.70,100831.71,76275.99\r\nEurope,United Kingdom,Beverages,Offline,C,7/31/2016,219607102,8/13/2016,5477,47.45,31.79,259883.65,174113.83,85769.82\r\nEurope,Germany,Personal Care,Offline,H,8/30/2010,778708636,9/2/2010,6045,81.73,56.67,494057.85,342570.15,151487.70\r\nMiddle East and North Africa,Somalia,Beverages,Online,M,4/22/2010,942700612,6/6/2010,4915,47.45,31.79,233216.75,156247.85,76968.90\r\nAustralia and Oceania,New Zealand,Household,Offline,H,3/9/2011,905381858,4/8/2011,1466,668.27,502.54,979683.82,736723.64,242960.18\r\nMiddle East and North Africa,Kuwait,Meat,Online,C,1/13/2010,480863702,1/28/2010,7110,421.89,364.69,2999637.90,2592945.90,406692.00\r\nAsia,Japan,Cosmetics,Online,L,1/6/2016,453569972,2/19/2016,289,437.20,263.33,126350.80,76102.37,50248.43\r\nEurope,Norway,Baby Food,Offline,H,8/17/2016,328236997,9/10/2016,1476,255.28,159.42,376793.28,235303.92,141489.36\r\nSub-Saharan Africa,Lesotho,Personal Care,Offline,C,10/22/2011,579913604,10/23/2011,8177,81.73,56.67,668306.21,463390.59,204915.62\r\nEurope,Belgium,Cosmetics,Online,H,2/12/2010,403961122,3/20/2010,9928,437.20,263.33,4340521.60,2614340.24,1726181.36\r\nCentral America and the Caribbean,Honduras,Cosmetics,Offline,L,5/29/2017,866053378,6/22/2017,3295,437.20,263.33,1440574.00,867672.35,572901.65\r\nEurope,Austria,Household,Offline,C,4/17/2010,852176702,5/13/2010,6878,668.27,502.54,4596361.06,3456470.12,1139890.94\r\nMiddle East and North Africa,Oman,Baby Food,Online,M,9/8/2015,218629920,10/20/2015,6307,255.28,159.42,1610050.96,1005461.94,604589.02\r\nMiddle East and North Africa,Oman,Baby Food,Offline,C,2/13/2016,242024362,3/17/2016,9242,255.28,159.42,2359297.76,1473359.64,885938.12\r\nEurope,Spain,Snacks,Offline,M,2/16/2014,469283854,2/16/2014,376,152.58,97.44,57370.08,36637.44,20732.64\r\nMiddle East and North Africa,Afghanistan,Fruits,Online,C,4/22/2013,967644727,4/30/2013,6433,9.33,6.92,60019.89,44516.36,15503.53\r\nCentral America and the Caribbean,Saint Vincent and the Grenadines,Cosmetics,Offline,L,7/15/2014,974655807,7/23/2014,1167,437.20,263.33,510212.40,307306.11,202906.29\r\nEurope,Iceland,Vegetables,Online,M,3/7/2012,248178422,3/22/2012,365,154.06,90.93,56231.90,33189.45,23042.45\r\nAsia,Myanmar,Vegetables,Offline,L,1/14/2013,416386401,2/16/2013,6844,154.06,90.93,1054386.64,622324.92,432061.72\r\nEurope,Netherlands,Snacks,Offline,L,5/22/2017,927766072,6/20/2017,5453,152.58,97.44,832018.74,531340.32,300678.42\r\nEurope,Slovakia,Vegetables,Online,M,3/23/2015,401116263,3/31/2015,8071,154.06,90.93,1243418.26,733896.03,509522.23\r\nMiddle East and North Africa,Bahrain,Fruits,Offline,H,9/28/2012,675548303,11/6/2012,8610,9.33,6.92,80331.30,59581.20,20750.10\r\nSub-Saharan Africa,Lesotho,Baby Food,Online,L,6/6/2013,960486018,7/4/2013,8012,255.28,159.42,2045303.36,1277273.04,768030.32\r\nCentral America and the Caribbean,Cuba,Clothes,Offline,L,4/2/2014,985665738,5/19/2014,9250,109.28,35.84,1010840.00,331520.00,679320.00\r\nMiddle East and North Africa,Afghanistan,Clothes,Offline,C,1/13/2017,551136291,1/13/2017,2331,109.28,35.84,254731.68,83543.04,171188.64\r\nAustralia and Oceania,Vanuatu,Cereal,Online,L,2/3/2017,877259004,2/16/2017,9289,205.70,117.11,1910747.30,1087834.79,822912.51\r\nAsia,Bhutan,Beverages,Offline,M,8/5/2014,554707705,9/19/2014,9192,47.45,31.79,436160.40,292213.68,143946.72\r\nAustralia and Oceania,Palau,Cereal,Offline,L,10/6/2010,494468724,10/23/2010,3139,205.70,117.11,645692.30,367608.29,278084.01\r\nAsia,Indonesia,Personal Care,Online,H,9/10/2011,777840888,10/23/2011,9259,81.73,56.67,756738.07,524707.53,232030.54\r\nEurope,Andorra,Baby Food,Offline,C,12/12/2016,206435525,1/27/2017,7714,255.28,159.42,1969229.92,1229765.88,739464.04\r\nMiddle East and North Africa,Algeria,Office Supplies,Online,C,10/26/2015,352176463,12/5/2015,5696,651.21,524.96,3709292.16,2990172.16,719120.00\r\nAustralia and Oceania,Vanuatu,Cosmetics,Offline,C,10/14/2013,607300031,10/14/2013,2429,437.20,263.33,1061958.80,639628.57,422330.23\r\nNorth America,Mexico,Baby Food,Online,H,8/17/2013,434355056,9/28/2013,4168,255.28,159.42,1064007.04,664462.56,399544.48\r\nEurope,Macedonia,Fruits,Offline,M,8/7/2011,716202867,9/20/2011,9199,9.33,6.92,85826.67,63657.08,22169.59\r\nCentral America and the Caribbean,Panama,Personal Care,Online,H,5/22/2016,606017291,6/12/2016,2838,81.73,56.67,231949.74,160829.46,71120.28\r\nAsia,Nepal,Cereal,Offline,H,1/13/2015,677284657,1/15/2015,2436,205.70,117.11,501085.20,285279.96,215805.24\r\nAsia,Nepal,Fruits,Online,C,7/22/2014,673803794,7/29/2014,2371,9.33,6.92,22121.43,16407.32,5714.11\r\nSub-Saharan Africa,Mauritius ,Cereal,Offline,C,6/25/2015,859686028,7/10/2015,9055,205.70,117.11,1862613.50,1060431.05,802182.45\r\nSub-Saharan Africa,Sao Tome and Principe,Clothes,Online,H,8/10/2015,669355189,9/26/2015,5930,109.28,35.84,648030.40,212531.20,435499.20\r\nCentral America and the Caribbean,Saint Vincent and the Grenadines,Fruits,Offline,L,10/19/2013,957547605,11/21/2013,8470,9.33,6.92,79025.10,58612.40,20412.70\r\nAsia,Maldives,Personal Care,Online,M,10/9/2013,849312102,11/23/2013,9180,81.73,56.67,750281.40,520230.60,230050.80\r\nSub-Saharan Africa,Swaziland,Personal Care,Offline,H,9/26/2012,890010011,10/14/2012,2595,81.73,56.67,212089.35,147058.65,65030.70\r\nMiddle East and North Africa,Morocco,Cereal,Online,H,10/2/2012,795315158,10/26/2012,284,205.70,117.11,58418.80,33259.24,25159.56\r\nAsia,Maldives,Clothes,Offline,M,12/11/2016,801213872,1/28/2017,5844,109.28,35.84,638632.32,209448.96,429183.36\r\nSub-Saharan Africa,Zimbabwe,Fruits,Offline,C,7/26/2010,314004981,8/9/2010,9907,9.33,6.92,92432.31,68556.44,23875.87\r\nAsia,India,Cereal,Online,C,3/27/2010,160299813,4/6/2010,5132,205.70,117.11,1055652.40,601008.52,454643.88\r\nAsia,Tajikistan,Beverages,Offline,C,9/11/2014,337022197,9/22/2014,1212,47.45,31.79,57509.40,38529.48,18979.92\r\nSub-Saharan Africa,Lesotho,Snacks,Offline,M,3/9/2016,461408460,3/15/2016,9872,152.58,97.44,1506269.76,961927.68,544342.08\r\nAsia,Bhutan,Office Supplies,Offline,M,10/19/2011,221007430,11/10/2011,9865,651.21,524.96,6424186.65,5178730.40,1245456.25\r\nCentral America and the Caribbean,Trinidad and Tobago,Snacks,Offline,L,10/31/2014,723680436,12/20/2014,1978,152.58,97.44,301803.24,192736.32,109066.92\r\nAustralia and Oceania,Tuvalu,Fruits,Offline,L,2/23/2013,447601306,3/11/2013,4028,9.33,6.92,37581.24,27873.76,9707.48\r\nMiddle East and North Africa,Iraq,Clothes,Offline,L,10/25/2010,191256368,11/9/2010,5864,109.28,35.84,640817.92,210165.76,430652.16\r\nSub-Saharan Africa,The Gambia,Vegetables,Offline,L,10/4/2016,823444449,10/30/2016,4366,154.06,90.93,672625.96,397000.38,275625.58\r\nMiddle East and North Africa,Bahrain,Beverages,Online,C,9/4/2010,133276879,10/17/2010,8445,47.45,31.79,400715.25,268466.55,132248.70\r\nMiddle East and North Africa,Qatar,Meat,Online,H,12/22/2014,480177485,2/7/2015,4043,421.89,364.69,1705701.27,1474441.67,231259.60\r\nSub-Saharan Africa,Angola,Household,Offline,H,4/8/2015,243882596,5/11/2015,9135,668.27,502.54,6104646.45,4590702.90,1513943.55\r\nCentral America and the Caribbean,Costa Rica,Cosmetics,Online,L,3/2/2017,574441039,4/6/2017,8724,437.20,263.33,3814132.80,2297290.92,1516841.88\r\nAustralia and Oceania,Papua New Guinea,Household,Online,M,3/14/2012,442214143,5/3/2012,9847,668.27,502.54,6580454.69,4948511.38,1631943.31\r\nMiddle East and North Africa,Qatar,Clothes,Offline,C,11/22/2011,687875735,12/2/2011,6571,109.28,35.84,718078.88,235504.64,482574.24\r\nCentral America and the Caribbean,Saint Kitts and Nevis ,Clothes,Offline,H,9/8/2013,872412145,9/25/2013,4995,109.28,35.84,545853.60,179020.80,366832.80\r\nSub-Saharan Africa,Sierra Leone,Fruits,Offline,C,4/23/2012,627122199,4/29/2012,8250,9.33,6.92,76972.50,57090.00,19882.50\r\nEurope,Russia,Fruits,Online,M,2/14/2011,103617227,3/12/2011,1495,9.33,6.92,13948.35,10345.40,3602.95\r\nEurope,Lithuania,Vegetables,Offline,M,10/6/2010,423821055,10/22/2010,6923,154.06,90.93,1066557.38,629508.39,437048.99\r\nEurope,United Kingdom,Vegetables,Online,L,12/8/2012,529970014,1/3/2013,8759,154.06,90.93,1349411.54,796455.87,552955.67\r\nAsia,Indonesia,Personal Care,Offline,H,8/17/2016,334612929,10/3/2016,8256,81.73,56.67,674762.88,467867.52,206895.36\r\nAsia,Mongolia,Beverages,Offline,M,4/23/2014,270611131,5/24/2014,8702,47.45,31.79,412909.90,276636.58,136273.32\r\nMiddle East and North Africa,Egypt,Office Supplies,Online,C,11/18/2010,841138446,12/8/2010,413,651.21,524.96,268949.73,216808.48,52141.25\r\nSub-Saharan Africa,Comoros,Household,Online,M,4/22/2012,369681203,5/9/2012,5738,668.27,502.54,3834533.26,2883574.52,950958.74\r\nEurope,Slovenia,Household,Offline,M,4/5/2014,850038230,4/21/2014,4057,668.27,502.54,2711171.39,2038804.78,672366.61\r\nMiddle East and North Africa,Lebanon,Beverages,Online,M,6/21/2013,296320855,7/13/2013,6781,47.45,31.79,321758.45,215567.99,106190.46\r\nAustralia and Oceania,Australia,Cosmetics,Offline,L,7/13/2011,392952907,8/13/2011,2352,437.20,263.33,1028294.40,619352.16,408942.24\r\nCentral America and the Caribbean,Haiti,Snacks,Online,M,2/1/2011,644670712,3/21/2011,1245,152.58,97.44,189962.10,121312.80,68649.30\r\nCentral America and the Caribbean,Saint Kitts and Nevis ,Meat,Online,L,1/27/2012,626523101,2/16/2012,963,421.89,364.69,406280.07,351196.47,55083.60\r\nMiddle East and North Africa,Syria,Vegetables,Offline,M,6/24/2015,433871400,7/1/2015,1044,154.06,90.93,160838.64,94930.92,65907.72\r\nAsia,Laos,Snacks,Offline,M,1/3/2012,232389438,1/8/2012,8054,152.58,97.44,1228879.32,784781.76,444097.56\r\nCentral America and the Caribbean,Saint Kitts and Nevis ,Cereal,Offline,H,2/21/2016,708063542,3/19/2016,592,205.70,117.11,121774.40,69329.12,52445.28\r\nSub-Saharan Africa,Sudan,Vegetables,Offline,H,12/4/2016,817192542,12/22/2016,4288,154.06,90.93,660609.28,389907.84,270701.44\r\nCentral America and the Caribbean,Guatemala,Meat,Offline,H,1/16/2012,936387765,2/29/2012,6803,421.89,364.69,2870117.67,2480986.07,389131.60\r\nAsia,Brunei,Clothes,Offline,H,8/6/2011,612573039,8/9/2011,2830,109.28,35.84,309262.40,101427.20,207835.20\r\nMiddle East and North Africa,Jordan,Clothes,Online,M,8/12/2011,812984693,8/22/2011,9092,109.28,35.84,993573.76,325857.28,667716.48\r\nCentral America and the Caribbean,Panama,Meat,Offline,C,12/18/2012,775171554,1/5/2013,9344,421.89,364.69,3942140.16,3407663.36,534476.80\r\nSub-Saharan Africa,Central African Republic,Household,Online,H,1/10/2010,256994950,2/19/2010,9372,668.27,502.54,6263026.44,4709804.88,1553221.56\r\nMiddle East and North Africa,Bahrain,Beverages,Offline,M,2/28/2017,886628711,3/31/2017,1993,47.45,31.79,94567.85,63357.47,31210.38\r\nSub-Saharan Africa,Burundi,Beverages,Online,C,12/8/2011,312559163,12/16/2011,2057,47.45,31.79,97604.65,65392.03,32212.62\r\nEurope,Austria,Cereal,Online,L,8/18/2014,753585135,9/13/2014,1443,205.70,117.11,296825.10,168989.73,127835.37\r\nAustralia and Oceania,Fiji,Beverages,Offline,H,4/19/2016,448817956,4/22/2016,4062,47.45,31.79,192741.90,129130.98,63610.92\r\nAustralia and Oceania,Fiji,Clothes,Offline,M,11/6/2012,407681453,12/24/2012,856,109.28,35.84,93543.68,30679.04,62864.64\r\nEurope,Switzerland,Snacks,Online,H,5/27/2016,359911954,6/23/2016,4800,152.58,97.44,732384.00,467712.00,264672.00\r\nMiddle East and North Africa,Yemen,Office Supplies,Offline,M,8/18/2013,105558288,8/19/2013,5898,651.21,524.96,3840836.58,3096214.08,744622.50\r\nSub-Saharan Africa,Comoros,Personal Care,Offline,H,12/31/2014,864981782,2/11/2015,6186,81.73,56.67,505581.78,350560.62,155021.16\r\nSub-Saharan Africa,Democratic Republic of the Congo,Office Supplies,Online,C,2/4/2013,328856265,2/12/2013,4732,651.21,524.96,3081525.72,2484110.72,597415.00\r\nAsia,Mongolia,Clothes,Offline,H,9/23/2016,308168065,10/18/2016,2633,109.28,35.84,287734.24,94366.72,193367.52\r\nAustralia and Oceania,Palau,Household,Offline,L,11/1/2016,884216010,11/2/2016,8021,668.27,502.54,5360193.67,4030873.34,1329320.33\r\nEurope,Monaco,Snacks,Offline,M,12/27/2012,858611428,1/9/2013,1057,152.58,97.44,161277.06,102994.08,58282.98\r\nAustralia and Oceania,Fiji,Cereal,Online,L,3/10/2017,903278148,4/3/2017,8932,205.70,117.11,1837312.40,1046026.52,791285.88\r\nSub-Saharan Africa,Mali,Beverages,Online,L,3/17/2012,410452497,3/26/2012,870,47.45,31.79,41281.50,27657.30,13624.20\r\nSub-Saharan Africa,Liberia,Cereal,Offline,H,12/17/2015,642683303,1/20/2016,3126,205.70,117.11,643018.20,366085.86,276932.34\r\nEurope,Switzerland,Beverages,Offline,L,2/18/2017,682831895,3/16/2017,3987,47.45,31.79,189183.15,126746.73,62436.42\r\nAustralia and Oceania,Samoa ,Baby Food,Online,L,11/5/2016,584072101,11/5/2016,8769,255.28,159.42,2238550.32,1397953.98,840596.34\r\nAsia,Nepal,Meat,Offline,C,4/9/2017,919890248,5/18/2017,4821,421.89,364.69,2033931.69,1758170.49,275761.20\r\nMiddle East and North Africa,Azerbaijan,Snacks,Offline,C,4/18/2010,534085166,4/25/2010,6524,152.58,97.44,995431.92,635698.56,359733.36\r\nEurope,Georgia,Baby Food,Offline,H,8/1/2011,590768182,9/7/2011,288,255.28,159.42,73520.64,45912.96,27607.68\r\nMiddle East and North Africa,United Arab Emirates,Vegetables,Online,C,5/12/2011,524363124,6/28/2011,9556,154.06,90.93,1472197.36,868927.08,603270.28\r\nEurope,Finland,Household,Offline,L,1/25/2016,289606320,2/14/2016,9801,668.27,502.54,6549714.27,4925394.54,1624319.73\r\nEurope,Portugal,Cereal,Offline,C,4/10/2014,811546599,5/8/2014,3528,205.70,117.11,725709.60,413164.08,312545.52\r\n";
-
-export let noData: Object[] = [
- { 'Amount': 100, 'Country': "Canada", 'Date': "FY 2005", 'Product': "Bike", 'Quantity': 2, 'State': "Alberta" },
- { 'Amount': 200, 'Country': "Canada", 'Date': "FY 2006", 'Product': "Van", 'Quantity': 3, 'State': "British Columbia" },
- { 'Amount': 150, 'Country': "United States", 'Date': "FY 2006", 'Product': "Car", 'Quantity': 3, 'State': "New Mexico" },
- { 'Amount': 200, 'Country': "United States", 'Date': "FY 2005", 'Product': "Bike", 'Quantity': 4, 'State': "New York" }
-];
-
-export let pivotNullData: object[] = [
- { Amount: 100, Country: "Canada", Date: "FY 2005", Product: "Bike", Quantity: 2, State: "Alberta" },
- { Country: "Canada", Date: "FY 2006", Product: "Van", Quantity: 3, State: "British Columbia" },
- { Amount: 300, Date: "FY 2007", Product: "Car", Quantity: 4, State: "Brunswick" },
- { Amount: 150, Country: "Canada", Product: "Bike", Quantity: 3, State: "Manitoba" },
- { Amount: 200, Country: "Canada", Date: "FY 2006", Quantity: 4, State: "Ontario" },
- { Amount: 100, Country: "Canada", Date: "FY 2007", Product: "Van", State: "Quebec" },
- { Amount: 200, Country: "France", Date: "FY 2005", Product: "Bike", Quantity: 2 },
- { Country: "France", Date: "FY 2006", Product: "Van", Quantity: 4, State: "Essonne" },
- { Amount: 300, Date: "FY 2007", Product: "Car", Quantity: 3, State: "Garonne (Haute)" },
- { Amount: 150, Country: "France", Product: "Van", Quantity: 2, State: "Gers" },
- { Amount: 200, Country: "Germany", Date: "FY 2006", Quantity: 3, State: "Bayern" },
- { Amount: 250, Country: "Germany", Date: "FY 2007", Product: "Car", State: "Brandenburg" },
- { Amount: 150, Country: "Germany", Date: "FY 2008", Product: "Car", Quantity: 4 },
- { Country: "Germany", Date: "FY 2008", Product: "Bike", Quantity: 4, State: "Hessen" },
- { Amount: 150, Date: "FY 2007", Product: "Van", Quantity: 3, State: "Nordrhein-Westfalen" },
- { Amount: 100, Country: "Germany", Product: "Bike", Quantity: 2, State: "Saarland" },
- { Amount: 150, Country: "United Kingdom", Date: "FY 2008", Quantity: 5 },
- { Amount: 250, Country: "United States", Date: "FY 2007", Product: "Car", State: "Alabama" },
- { Amount: 200, Country: "United States", Date: "FY 2005", Product: "Van", Quantity: 4 },
- { Country: "United States", Date: "FY 2006", Product: "Bike", Quantity: 2, State: "Colorado" },
- { Amount: 150, Date: "FY 2008", Product: "Car", Quantity: 3, State: "New Mexico" },
- { Amount: 200, Country: "United States", Product: "Bike", Quantity: 4, State: "New York" },
- { Amount: 250, Country: "United States", Date: "FY 2008", Quantity: 3, State: "North Carolina" },
- { Amount: 300, Country: "United States", Date: "FY 2007", Product: "Van", State: "South Carolina" }
- ];
-
-let gData: Object[] = [
- {
- 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 2
-
- },
- {
- 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 3
-
- },
- {
- 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 5
-
- },
- {
- 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 2
-
- },
- {
- 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 1
-
- },
- {
- 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 3
-
- },
- {
- 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 3
- },
- {
- 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 4
-
- },
- {
- 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 1
-
- },
- {
- 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 3
- },
- {
- 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 2
-
- },
- {
- 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1006,
- 'Sold': 4
-
- },
- {
- 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 8
- },
- {
- 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 1
-
- },
- {
- 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 6
-
- },
- {
- 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 8
-
- },
- {
- 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 4
-
- },
- {
- 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 2
-
- },
- {
- 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 2
-
- },
- {
- 'Date': '9/05/2015 05:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 10
-
- },
- {
- 'Date': '9/12/2015 04:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 3
-
- },
- {
- 'Date': '9/25/2015 04:15:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 2
-
- },
- {
- 'Date': '9/29/2015 05:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 3
-
- },
- {
- 'Date': '9/05/2015 05:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 2
-
- },
- {
- 'Date': '9/12/2015 04:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 3
-
- },
- {
- 'Date': '9/25/2015 04:15:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 2
- },
- {
- 'Date': '9/29/2015 05:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 7
-
- },
- {
- 'Date': '10/3/2015 18:11:47 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 1
-
- },
- {
- 'Date': '1/3/2016 17:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 5
-
- },
- {
- 'Date': '1/4/2016 15:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 4
-
- },
- {
- 'Date': '1/5/2016 17:30:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 3
-
- },
- {
- 'Date': '1/8/2016 07:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 2
-
- },
- {
- 'Date': '10/3/2015 18:11:47 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '1/3/2016 17:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '1/4/2016 15:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '1/5/2016 17:30:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '1/8/2016 07:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1006,
- 'Sold': 1
-
- },
- {
- 'Date': '1/10/2016 17:26:25 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 7
-
- },
- {
- 'Date': '2/11/2016 18:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 3
-
- },
- {
- 'Date': '2/12/2016 19:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 2
-
- },
- {
- 'Date': '2/19/2016 18:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 5
-
- },
- {
- 'Date': '3/20/2016 06:31:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 1
-
- },
- {
- 'Date': '2/19/2016 18:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1006,
- 'Sold': 1
-
- },
- {
- 'Date': '3/20/2016 06:31:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 5
-
- },
- {
- 'Date': '3/23/2016 05:33:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 4
-
- },
- {
- 'Date': '3/06/2016 06:31:20 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '5/04/2016 21:41:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '5/11/2016 21:45:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 5
-
- },
- {
- 'Date': '3/20/2016 06:31:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 4
-
- },
- {
- 'Date': '2/19/2016 18:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 2
-
- },
- {
- 'Date': '3/20/2016 06:31:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 1
-
- },
- {
- 'Date': '3/23/2016 05:33:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 1
-
- },
- {
- 'Date': '3/06/2016 06:31:20 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '5/04/2016 21:41:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '5/11/2016 21:45:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 2
-
- },
- {
- 'Date': '6/17/2016 07:09:27 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 4
-
- },
- {
- 'Date': '7/1/2016 03:47:38 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 2
-
- },
- {
- 'Date': '7/2/2016 05:47:38 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 5
-
- },
- {
- 'Date': '9/8/2016 11:50:17 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 2
-
- },
- {
- 'Date': '12/2/2016 16:05:33 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 1
-
- },
- {
- 'Date': '6/17/2016 07:09:27 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 2
-
- },
- {
- 'Date': '7/1/2016 03:47:38 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '7/2/2016 05:47:38 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 4
-
- },
- {
- 'Date': '9/8/2016 11:50:17 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 2
-
- },
- {
- 'Date': '12/2/2016 16:05:33 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 3
-
- },
- {
- 'Date': '1/1/2017 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 2
-
- },
- {
- 'Date': '1/1/2017 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 3
-
- },
- {
- 'Date': '1/1/2017 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 5
-
- },
- {
- 'Date': '1/1/2017 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '1/1/2017 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '1/1/2017 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 2
-
- },
- {
- 'Date': '1/1/2017 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 1
-
- },
- {
- 'Date': '1/1/2017 20:18:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 3
-
- },
- {
- 'Date': '1/5/2017 20:19:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 3
- },
- {
- 'Date': '2/2/2017 10:22:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 4
-
- },
- {
- 'Date': '2/10/2017 10:23:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 1
-
- },
- {
- 'Date': '1/5/2017 20:19:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 3
- },
- {
- 'Date': '2/2/2017 10:22:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 2
-
- },
- {
- 'Date': '2/10/2017 10:23:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1006,
- 'Sold': 4
-
- },
- {
- 'Date': '1/5/2017 20:19:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 8
- },
- {
- 'Date': '2/2/2017 10:22:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 1
-
- },
- {
- 'Date': '2/10/2017 10:23:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 6
-
- },
- {
- 'Date': '2/20/2017 11:25:07 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 8
-
- },
- {
- 'Date': '3/07/2017 05:11:50 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 4
-
- },
- {
- 'Date': '3/13/2017 05:11:55 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 2
-
- },
- {
- 'Date': '9/1/2017 04:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '9/1/2017 04:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 2
-
- },
- {
- 'Date': '9/05/2017 05:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 10
-
- },
- {
- 'Date': '9/12/2017 04:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 3
-
- },
- {
- 'Date': '9/25/2017 04:15:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 2
-
- },
- {
- 'Date': '9/29/2017 05:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 3
-
- },
- {
- 'Date': '9/05/2017 05:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 2
-
- },
- {
- 'Date': '9/12/2017 04:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 3
-
- },
- {
- 'Date': '9/25/2017 04:15:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 2
- },
- {
- 'Date': '9/29/2017 05:14:43 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 7
-
- },
- {
- 'Date': '10/3/2017 18:11:47 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 1
-
- },
- {
- 'Date': '1/3/2018 17:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 5
-
- },
- {
- 'Date': '1/4/2018 15:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 4
-
- },
- {
- 'Date': '1/5/2018 17:30:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 3
-
- },
- {
- 'Date': '1/8/2018 07:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 2
-
- },
- {
- 'Date': '10/3/2017 18:11:47 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '1/3/2018 17:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '1/4/2018 15:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '1/5/2018 17:30:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '1/8/2018 07:26:11 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1006,
- 'Sold': 1
-
- },
- {
- 'Date': '1/10/2018 17:26:25 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 7
-
- },
- {
- 'Date': '2/11/2018 18:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 3
-
- },
- {
- 'Date': '2/12/2018 19:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 2
-
- },
- {
- 'Date': '2/19/2018 18:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 5
-
- },
- {
- 'Date': '3/20/2018 06:31:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 1
-
- },
- {
- 'Date': '2/19/2018 18:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1006,
- 'Sold': 1
-
- },
- {
- 'Date': '3/20/2018 06:31:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 5
-
- },
- {
- 'Date': '3/23/2018 05:33:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 4
-
- },
- {
- 'Date': '3/06/2018 06:31:20 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '5/04/2018 21:41:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '5/11/2018 21:45:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 5
-
- },
- {
- 'Date': '3/20/2018 06:31:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 4
-
- },
- {
- 'Date': '2/19/2018 18:51:14 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 2
-
- },
- {
- 'Date': '3/20/2018 06:31:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 1
-
- },
- {
- 'Date': '3/23/2018 05:33:12 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 1
-
- },
- {
- 'Date': '3/06/2018 06:31:20 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '5/04/2018 21:41:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 1
-
- },
- {
- 'Date': '5/11/2018 21:45:15 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1010,
- 'Sold': 2
-
- },
- {
- 'Date': '6/17/2018 07:09:27 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 4
-
- },
- {
- 'Date': '7/1/2018 03:47:38 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1005,
- 'Sold': 2
-
- },
- {
- 'Date': '7/2/2018 05:47:38 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1007,
- 'Sold': 5
-
- },
- {
- 'Date': '9/8/2018 11:50:17 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1008,
- 'Sold': 2
-
- },
- {
- 'Date': '12/2/2018 16:05:33 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 1
-
- },
- {
- 'Date': '6/17/2018 07:09:27 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1001,
- 'Sold': 2
-
- },
- {
- 'Date': '7/1/2018 03:47:38 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Bikes',
- 'Product_ID': 1004,
- 'Sold': 1
-
- },
- {
- 'Date': '7/2/2018 05:47:38 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Clothings',
- 'Product_ID': 1009,
- 'Sold': 4
-
- },
- {
- 'Date': '9/8/2018 11:50:17 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1002,
- 'Sold': 2
-
- },
- {
- 'Date': '12/2/2018 16:05:33 GMT+0530 (India Standard Time)',
- 'Product_Categories': 'Accessories',
- 'Product_ID': 1003,
- 'Sold': 3
-
- }
-];
-
-let rData: Object[] = [
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 46,
- 'ProCost': 43
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 30,
- 'ProCost': 29
- },
- {
- 'Date': '3/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 125,
- 'ProCost': 96
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 215,
- 'ProCost': 123
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 263,
- 'ProCost': 125
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 61,
- 'ProCost': 50
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 20,
- 'ProCost': 31
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 133,
- 'ProCost': 110
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 33,
- 'ProCost': 65
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 37,
- 'ProCost': 20
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 109,
- 'ProCost': 96
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 266,
- 'ProCost': 139
- },
- {
- 'Date': '1/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 257,
- 'ProCost': 143
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 79,
- 'ProCost': 53
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 28,
- 'ProCost': 48
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 128,
- 'ProCost': 117
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 68,
- 'ProCost': 48
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 26,
- 'ProCost': 32
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 141,
- 'ProCost': 98
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 281,
- 'ProCost': 134
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 228,
- 'ProCost': 107
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 73,
- 'ProCost': 49
- },
- {
- 'Date': '11/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 19,
- 'ProCost': 44
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 149,
- 'ProCost': 82
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 47,
- 'ProCost': 58
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 25,
- 'ProCost': 40
- },
- {
- 'Date': '3/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 127,
- 'ProCost': 93
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 216,
- 'ProCost': 124
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 267,
- 'ProCost': 100
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 52,
- 'ProCost': 65
- },
- {
- 'Date': '7/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 39,
- 'ProCost': 33
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 142,
- 'ProCost': 97
- },
- {
- 'Date': '9/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 53,
- 'ProCost': 49
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 23,
- 'ProCost': 44
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 113,
- 'ProCost': 106
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 270,
- 'ProCost': 101
- },
- {
- 'Date': '1/1/2018',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 284,
- 'ProCost': 105
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 62,
- 'ProCost': 43
- },
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 32,
- 'ProCost': 26
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 133,
- 'ProCost': 83
- },
- {
- 'Date': '3/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 51,
- 'ProCost': 65
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 13,
- 'ProCost': 25
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 139,
- 'ProCost': 101
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 297,
- 'ProCost': 130
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 236,
- 'ProCost': 119
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 57,
- 'ProCost': 66
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 16,
- 'ProCost': 27
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 110,
- 'ProCost': 93
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 55,
- 'ProCost': 49
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 32,
- 'ProCost': 39
- },
- {
- 'Date': '1/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 128,
- 'ProCost': 120
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 290,
- 'ProCost': 128
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 201,
- 'ProCost': 105
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 55,
- 'ProCost': 46
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 20,
- 'ProCost': 37
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 122,
- 'ProCost': 118
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 69,
- 'ProCost': 54
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 21,
- 'ProCost': 41
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 140,
- 'ProCost': 83
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 239,
- 'ProCost': 121
- },
- {
- 'Date': '11/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 283,
- 'ProCost': 127
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 80,
- 'ProCost': 40
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 33,
- 'ProCost': 40
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 120,
- 'ProCost': 81
- },
- {
- 'Date': '3/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 41,
- 'ProCost': 69
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 14,
- 'ProCost': 21
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 144,
- 'ProCost': 93
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 294,
- 'ProCost': 146
- },
- {
- 'Date': '7/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 217,
- 'ProCost': 103
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 49,
- 'ProCost': 44
- },
- {
- 'Date': '9/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 36,
- 'ProCost': 21
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 118,
- 'ProCost': 115
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 56,
- 'ProCost': 41
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 17,
- 'ProCost': 36
- },
- {
- 'Date': '1/1/2018',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 140,
- 'ProCost': 81
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 274,
- 'ProCost': 109
- },
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 284,
- 'ProCost': 145
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 40,
- 'ProCost': 49
- },
- {
- 'Date': '3/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 12,
- 'ProCost': 28
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 150,
- 'ProCost': 115
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 73,
- 'ProCost': 64
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 23,
- 'ProCost': 47
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 102,
- 'ProCost': 112
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 252,
- 'ProCost': 112
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 222,
- 'ProCost': 131
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 52,
- 'ProCost': 46
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 35,
- 'ProCost': 30
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 104,
- 'ProCost': 101
- },
- {
- 'Date': '1/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 46,
- 'ProCost': 40
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 19,
- 'ProCost': 31
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 118,
- 'ProCost': 89
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 227,
- 'ProCost': 130
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 226,
- 'ProCost': 144
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 40,
- 'ProCost': 52
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 19,
- 'ProCost': 40
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 127,
- 'ProCost': 91
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 70,
- 'ProCost': 66
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 36,
- 'ProCost': 21
- },
- {
- 'Date': '11/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 144,
- 'ProCost': 85
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 212,
- 'ProCost': 130
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 210,
- 'ProCost': 110
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 72,
- 'ProCost': 56
- },
- {
- 'Date': '3/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 13,
- 'ProCost': 47
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 139,
- 'ProCost': 98
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 59,
- 'ProCost': 54
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 26,
- 'ProCost': 21
- },
- {
- 'Date': '7/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 120,
- 'ProCost': 97
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 299,
- 'ProCost': 124
- },
- {
- 'Date': '9/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 240,
- 'ProCost': 110
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 71,
- 'ProCost': 61
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 40,
- 'ProCost': 33
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 134,
- 'ProCost': 111
- },
- {
- 'Date': '1/1/2018',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 33,
- 'ProCost': 50
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 18,
- 'ProCost': 25
- },
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 139,
- 'ProCost': 85
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 217,
- 'ProCost': 141
- },
- {
- 'Date': '3/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 252,
- 'ProCost': 101
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 31,
- 'ProCost': 42
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 15,
- 'ProCost': 27
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 117,
- 'ProCost': 112
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 34,
- 'ProCost': 40
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 10,
- 'ProCost': 43
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 110,
- 'ProCost': 83
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 212,
- 'ProCost': 137
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 222,
- 'ProCost': 126
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 75,
- 'ProCost': 49
- },
- {
- 'Date': '1/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 31,
- 'ProCost': 37
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 105,
- 'ProCost': 98
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 72,
- 'ProCost': 45
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 20,
- 'ProCost': 45
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 143,
- 'ProCost': 92
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 272,
- 'ProCost': 128
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 208,
- 'ProCost': 136
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 48,
- 'ProCost': 46
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 22,
- 'ProCost': 27
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 150,
- 'ProCost': 100
- },
- {
- 'Date': '11/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 60,
- 'ProCost': 43
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 15,
- 'ProCost': 27
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 107,
- 'ProCost': 97
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 204,
- 'ProCost': 136
- },
- {
- 'Date': '3/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 210,
- 'ProCost': 111
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 65,
- 'ProCost': 47
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 26,
- 'ProCost': 45
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 112,
- 'ProCost': 115
- },
- {
- 'Date': '7/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 54,
- 'ProCost': 66
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 31,
- 'ProCost': 36
- },
- {
- 'Date': '9/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 120,
- 'ProCost': 112
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 261,
- 'ProCost': 149
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 226,
- 'ProCost': 124
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 72,
- 'ProCost': 63
- },
- {
- 'Date': '1/1/2018',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 35,
- 'ProCost': 33
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 144,
- 'ProCost': 118
- },
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 293,
- 'ProCost': 118
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 237,
- 'ProCost': 110
- },
- {
- 'Date': '3/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 36,
- 'ProCost': 50
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 20,
- 'ProCost': 36
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 120,
- 'ProCost': 95
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 46,
- 'ProCost': 59
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 31,
- 'ProCost': 33
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 147,
- 'ProCost': 96
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 230,
- 'ProCost': 100
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 236,
- 'ProCost': 104
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 60,
- 'ProCost': 57
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 33,
- 'ProCost': 41
- },
- {
- 'Date': '1/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 140,
- 'ProCost': 105
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 31,
- 'ProCost': 55
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 20,
- 'ProCost': 30
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 117,
- 'ProCost': 106
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 259,
- 'ProCost': 127
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 294,
- 'ProCost': 126
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 51,
- 'ProCost': 63
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 21,
- 'ProCost': 45
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 102,
- 'ProCost': 108
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 77,
- 'ProCost': 64
- },
- {
- 'Date': '11/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 29,
- 'ProCost': 26
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 140,
- 'ProCost': 88
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 244,
- 'ProCost': 144
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 213,
- 'ProCost': 127
- },
- {
- 'Date': '3/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 69,
- 'ProCost': 40
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 30,
- 'ProCost': 33
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 116,
- 'ProCost': 103
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 79,
- 'ProCost': 47
- },
- {
- 'Date': '7/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 29,
- 'ProCost': 37
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 116,
- 'ProCost': 96
- },
- {
- 'Date': '9/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 295,
- 'ProCost': 108
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 225,
- 'ProCost': 127
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 35,
- 'ProCost': 57
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 37,
- 'ProCost': 49
- },
- {
- 'Date': '1/1/2018',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 138,
- 'ProCost': 118
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 80,
- 'ProCost': 47
- },
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 22,
- 'ProCost': 42
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 131,
- 'ProCost': 91
- },
- {
- 'Date': '3/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 240,
- 'ProCost': 115
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 275,
- 'ProCost': 109
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 46,
- 'ProCost': 42
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 40,
- 'ProCost': 43
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 112,
- 'ProCost': 105
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 35,
- 'ProCost': 40
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 22,
- 'ProCost': 31
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 119,
- 'ProCost': 87
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 298,
- 'ProCost': 148
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 200,
- 'ProCost': 107
- },
- {
- 'Date': '1/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 30,
- 'ProCost': 42
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 22,
- 'ProCost': 49
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 148,
- 'ProCost': 88
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 37,
- 'ProCost': 49
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 23,
- 'ProCost': 29
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 130,
- 'ProCost': 102
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 281,
- 'ProCost': 129
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 228,
- 'ProCost': 113
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 80,
- 'ProCost': 60
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 39,
- 'ProCost': 27
- },
- {
- 'Date': '11/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 119,
- 'ProCost': 93
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 42,
- 'ProCost': 46
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 18,
- 'ProCost': 37
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 126,
- 'ProCost': 96
- },
- {
- 'Date': '3/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 222,
- 'ProCost': 150
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 228,
- 'ProCost': 105
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 54,
- 'ProCost': 49
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 16,
- 'ProCost': 33
- },
- {
- 'Date': '7/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 145,
- 'ProCost': 110
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 35,
- 'ProCost': 41
- },
- {
- 'Date': '9/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 16,
- 'ProCost': 38
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 118,
- 'ProCost': 114
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 241,
- 'ProCost': 110
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 281,
- 'ProCost': 136
- },
- {
- 'Date': '1/1/2018',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 50,
- 'ProCost': 66
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 23,
- 'ProCost': 26
- },
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 129,
- 'ProCost': 98
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 78,
- 'ProCost': 53
- },
- {
- 'Date': '3/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 28,
- 'ProCost': 31
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 147,
- 'ProCost': 120
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 240,
- 'ProCost': 100
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 232,
- 'ProCost': 116
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 33,
- 'ProCost': 49
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 18,
- 'ProCost': 36
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 114,
- 'ProCost': 113
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 52,
- 'ProCost': 63
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 31,
- 'ProCost': 25
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 129,
- 'ProCost': 88
- },
- {
- 'Date': '1/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 263,
- 'ProCost': 111
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 241,
- 'ProCost': 105
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 55,
- 'ProCost': 60
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 13,
- 'ProCost': 30
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 134,
- 'ProCost': 107
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Hydro-electric',
- 'PowUnits': 33,
- 'ProCost': 69
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Geo-thermal',
- 'PowUnits': 20,
- 'ProCost': 31
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Solar',
- 'PowUnits': 146,
- 'ProCost': 109
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Free Energy',
- 'EneSource': 'Wind',
- 'PowUnits': 241,
- 'ProCost': 107
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 10,
- 'ProCost': 30
- },
- {
- 'Date': '11/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 38,
- 'ProCost': 65
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 6,
- 'ProCost': 24
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 72,
- 'ProCost': 86
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 13,
- 'ProCost': 20
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 34,
- 'ProCost': 54
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 5,
- 'ProCost': 20
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 12,
- 'ProCost': 26
- },
- {
- 'Date': '9/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 48,
- 'ProCost': 57
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 8,
- 'ProCost': 29
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 61,
- 'ProCost': 97
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 19,
- 'ProCost': 29
- },
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 40,
- 'ProCost': 47
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 7,
- 'ProCost': 27
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 20,
- 'ProCost': 24
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 45,
- 'ProCost': 42
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 4,
- 'ProCost': 25
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 72,
- 'ProCost': 82
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 19,
- 'ProCost': 29
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 32,
- 'ProCost': 42
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 5,
- 'ProCost': 20
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 20,
- 'ProCost': 25
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 43,
- 'ProCost': 66
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 8,
- 'ProCost': 26
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 86,
- 'ProCost': 87
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 16,
- 'ProCost': 22
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 43,
- 'ProCost': 54
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 6,
- 'ProCost': 22
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 15,
- 'ProCost': 20
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 40,
- 'ProCost': 55
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 3,
- 'ProCost': 24
- },
- {
- 'Date': '3/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 60,
- 'ProCost': 87
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 12,
- 'ProCost': 29
- },
- {
- 'Date': '7/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 37,
- 'ProCost': 50
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 3,
- 'ProCost': 20
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 17,
- 'ProCost': 21
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 38,
- 'ProCost': 53
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 8,
- 'ProCost': 27
- },
- {
- 'Date': '1/1/2018',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 88,
- 'ProCost': 92
- },
- {
- 'Date': '2/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 14,
- 'ProCost': 22
- },
- {
- 'Date': '3/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 31,
- 'ProCost': 69
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 2,
- 'ProCost': 22
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 16,
- 'ProCost': 29
- },
- {
- 'Date': '7/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 35,
- 'ProCost': 54
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 7,
- 'ProCost': 24
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 79,
- 'ProCost': 82
- },
- {
- 'Date': '12/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 10,
- 'ProCost': 29
- },
- {
- 'Date': '1/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 50,
- 'ProCost': 65
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 5,
- 'ProCost': 25
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 17,
- 'ProCost': 28
- },
- {
- 'Date': '5/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 46,
- 'ProCost': 54
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 7,
- 'ProCost': 27
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 63,
- 'ProCost': 84
- },
- {
- 'Date': '10/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 19,
- 'ProCost': 28
- },
- {
- 'Date': '11/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 47,
- 'ProCost': 52
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 8,
- 'ProCost': 23
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 20,
- 'ProCost': 28
- },
- {
- 'Date': '3/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 40,
- 'ProCost': 55
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 7,
- 'ProCost': 27
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 67,
- 'ProCost': 88
- },
- {
- 'Date': '8/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 20,
- 'ProCost': 29
- },
- {
- 'Date': '9/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 38,
- 'ProCost': 61
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 7,
- 'ProCost': 21
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 11,
- 'ProCost': 26
- },
- {
- 'Date': '1/1/2018',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 36,
- 'ProCost': 60
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 2,
- 'ProCost': 24
- },
- {
- 'Date': '1/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 83,
- 'ProCost': 90
- },
- {
- 'Date': '4/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 11,
- 'ProCost': 27
- },
- {
- 'Date': '5/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 49,
- 'ProCost': 42
- },
- {
- 'Date': '6/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 7,
- 'ProCost': 28
- },
- {
- 'Date': '8/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 13,
- 'ProCost': 25
- },
- {
- 'Date': '9/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 30,
- 'ProCost': 49
- },
- {
- 'Date': '10/1/2015',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 4,
- 'ProCost': 26
- },
- {
- 'Date': '11/1/2015',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 76,
- 'ProCost': 87
- },
- {
- 'Date': '2/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 19,
- 'ProCost': 27
- },
- {
- 'Date': '3/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 45,
- 'ProCost': 55
- },
- {
- 'Date': '4/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 1,
- 'ProCost': 23
- },
- {
- 'Date': '6/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 20,
- 'ProCost': 23
- },
- {
- 'Date': '7/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 34,
- 'ProCost': 51
- },
- {
- 'Date': '8/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 3,
- 'ProCost': 28
- },
- {
- 'Date': '9/1/2016',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 85,
- 'ProCost': 80
- },
- {
- 'Date': '12/1/2016',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 20,
- 'ProCost': 22
- },
- {
- 'Date': '1/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 40,
- 'ProCost': 51
- },
- {
- 'Date': '2/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 7,
- 'ProCost': 25
- },
- {
- 'Date': '4/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 15,
- 'ProCost': 21
- },
- {
- 'Date': '5/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 36,
- 'ProCost': 41
- },
- {
- 'Date': '6/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 1,
- 'ProCost': 27
- },
- {
- 'Date': '7/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 79,
- 'ProCost': 93
- },
- {
- 'Date': '10/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wastage',
- 'PowUnits': 11,
- 'ProCost': 28
- },
- {
- 'Date': '11/1/2017',
- 'Sector': 'Public Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Ethanol Fuel',
- 'PowUnits': 41,
- 'ProCost': 51
- },
- {
- 'Date': '12/1/2017',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Bio-diesel',
- 'PowUnits': 8,
- 'ProCost': 28
- },
- {
- 'Date': '2/1/2018',
- 'Sector': 'Private Sector',
- 'EnerType': 'Biomass',
- 'EneSource': 'Wood',
- 'PowUnits': 20,
- 'ProCost': 23
- }
-]
-
-export let Group_Data: Object[] = getGroupData(gData);
-
-function getGroupData(data: any): Object[] {
- let date: Date;
- let products: string[] = ['', 'Bottles and Cages', 'Cleaners', 'Fenders', 'Mountain Bikes', 'Road Bikes', 'Touring Bikes', 'Gloves', 'Jerseys', 'Shorts', 'Vests'];
- let amount: number[] = [0, 2, 3, 8, 60, 75, 65, 3, 5, 4, 2]
- for (let ln: number = 0, lt: number = data.length; ln < lt; ln++) {
- date = new Date(data[ln].Date.toString());
- data[ln].Date = date.toString();
- data[ln].Products = products[data[ln].Product_ID - 1000];
- data[ln].Sold = data[ln].Sold * (date.getFullYear() === 2015 ? 3 : date.getFullYear() === 2016 ? 4 : date.getFullYear() === 2017 ? 2 : 5);
- data[ln].Amount = ((date.getFullYear() === 2018 ? 2 : 0) + data[ln].Sold) * amount[data[ln].Product_ID - 1000];
- }
- return data as Object[];
-}
-
-export let renewableEnergy: Object[] = getClassDate(rData);
-
-function getClassDate(data: Object[]): Object[] {
- let date: Date;
- for (let ln: number = 0, lt: number = data.length; ln < lt; ln++) {
- date = new Date((data[ln] as any)['Date'].toString());
- let dtYr: number = date.getFullYear();
- let dtMn: number = date.getMonth();
- let dtdv: number = (dtMn + 1) / 3;
- (data[ln] as any)['Year'] = 'FY ' + dtYr;
- (data[ln] as any)['Quarter'] = dtdv <= 1 ? 'Q1 ' + ('FY ' + dtYr) : dtdv <= 2 ? 'Q2 ' + ('FY ' + dtYr) :
- dtdv <= 3 ? 'Q3 ' + ('FY ' + dtYr) : 'Q4 ' + ('FY ' + dtYr);
- (data[ln] as any)['HalfYear'] = (dtMn + 1) / 6 <= 1 ? 'H1 ' + ('FY ' + dtYr) : 'H2' + ('FY ' + dtYr);
- delete ((data[ln] as any)['Date']);
- }
- return data;
-}
-
-export let pivot_flatdata: { [key: string]: Object }[] = [
- { Amount: 2100, Country: "Canada", Date: "FY 2005", Product: "Bike", Quantity: 22, State: "Alberta" },
- { Amount: 1100, Country: "Canada", Date: "FY 2008", Product: "Bike", Quantity: 32, State: "Alberta" },
- { Amount: 3100, Country: "Canada", Date: "FY 2005", Product: "Van", Quantity: 22, State: "Alberta" },
- { Amount: 1600, Country: "Canada", Date: "FY 2006", Product: "Van", Quantity: 32, State: "Alberta" },
- { Amount: 1500, Country: "Canada", Date: "FY 2008", Product: "Van", Quantity: 28, State: "Alberta" },
- { Amount: 1060, Country: "Canada", Date: "FY 2005", Product: "Car", Quantity: 26, State: "Alberta" },
- { Amount: 5100, Country: "Canada", Date: "FY 2006", Product: "Car", Quantity: 21, State: "Alberta" },
- { Amount: 1900, Country: "Canada", Date: "FY 2007", Product: "Car", Quantity: 23, State: "Alberta" },
- { Amount: 1000, Country: "Canada", Date: "FY 2008", Product: "Car", Quantity: 29, State: "Alberta" },
- { Amount: 3100, Country: "Canada", Date: "FY 2006", Product: "Bike", Quantity: 40, State: "Quebec" },
- { Amount: 1500, Country: "Canada", Date: "FY 2007", Product: "Bike", Quantity: 14, State: "Quebec" },
- { Amount: 2000, Country: "Canada", Date: "FY 2007", Product: "Van", Quantity: 82, State: "Quebec" },
- { Amount: 4800, Country: "France", Date: "FY 2005", Product: "Car", Quantity: 49, State: "Charente-Maritime" },
- { Amount: 8200, Country: "France", Date: "FY 2006", Product: "Car", Quantity: 38, State: "Charente-Maritime" },
- { Amount: 8100, Country: "France", Date: "FY 2006", Product: "Van", Quantity: 93, State: "Charente-Maritime" },
- { Amount: 9100, Country: "France", Date: "FY 2007", Product: "Car", Quantity: 64, State: "Charente-Maritime" },
- { Amount: 2350, Country: "France", Date: "FY 2006", Product: "Bike", Quantity: 46, State: "Essonne" },
- { Amount: 7250, Country: "France", Date: "FY 2005", Product: "Van", Quantity: 43, State: "Gers" },
- { Amount: 9450, Country: "France", Date: "FY 2005", Product: "Bike", Quantity: 49, State: "Gers" },
- { Amount: 1450, Country: "France", Date: "FY 2008", Product: "Bike", Quantity: 49, State: "Gers" },
- { Amount: 1450, Country: "United States", Date: "FY 2008", Product: "Car", Quantity: 49, State: "Gers" },
- { Amount: 4250, Country: "France", Date: "FY 2007", Product: "Van", Quantity: 49, State: "Gers" },
- { Amount: 4050, Country: "France", Date: "FY 2007", Product: "Bike", Quantity: 59, State: "Gers" },
- { Amount: 4350, Country: "France", Date: "FY 2008", Product: "Van", Quantity: 23, State: "Gers" },
- { Amount: 4950, Country: "France", Date: "FY 2008", Product: "Car", Quantity: 45, State: "Gers" },
- { Amount: 3400, Country: "Germany", Date: "FY 2005", Product: "Van", Quantity: 78, State: "Bayern" },
- { Amount: 8400, Country: "Germany", Date: "FY 2006", Product: "Van", Quantity: 90, State: "Bayern" },
- { Amount: 9400, Country: "Germany", Date: "FY 2007", Product: "Car", Quantity: 45, State: "Bayern" },
- { Amount: 7200, Country: "Germany", Date: "FY 2008", Product: "Van", Quantity: 92, State: "Bayern" },
- { Amount: 3400, Country: "Germany", Date: "FY 2008", Product: "Bike", Quantity: 24, State: "Bayern" },
- { Amount: 5330, Country: "Germany", Date: "FY 2005", Product: "Car", Quantity: 45, State: "Hamburg" },
- { Amount: 5900, Country: "Germany", Date: "FY 2005", Product: "Bike", Quantity: 20, State: "Saarland" },
- { Amount: 5800, Country: "Germany", Date: "FY 2006", Product: "Bike", Quantity: 58, State: "Saarland" },
- { Amount: 5700, Country: "Germany", Date: "FY 2006", Product: "Car", Quantity: 39, State: "Saarland" },
- { Amount: 8500, Country: "Germany", Date: "FY 2007", Product: "Bike", Quantity: 62, State: "Saarland" },
- { Amount: 2300, Country: "Germany", Date: "FY 2007", Product: "Van", Quantity: 49, State: "Saarland" },
- { Amount: 5200, Country: "Germany", Date: "FY 2008", Product: "Car", Quantity: 48, State: "Saarland" },
- { Amount: 1040, Country: "United Kingdom", Date: "FY 2005", Product: "Bike", Quantity: 47, State: "England" },
- { Amount: 1450, Country: "United Kingdom", Date: "FY 2005", Product: "Car", Quantity: 42, State: "England" },
- { Amount: 5150, Country: "United Kingdom", Date: "FY 2005", Product: "Van", Quantity: 53, State: "England" },
- { Amount: 1500, Country: "United Kingdom", Date: "FY 2006", Product: "Bike", Quantity: 24, State: "England" },
- { Amount: 7430, Country: "United Kingdom", Date: "FY 2006", Product: "Car", Quantity: 56, State: "England" },
- { Amount: 4720, Country: "United Kingdom", Date: "FY 2006", Product: "Van", Quantity: 50, State: "England" },
- { Amount: 3480, Country: "United Kingdom", Date: "FY 2007", Product: "Bike", Quantity: 45, State: "England" },
- { Amount: 3380, Country: "United Kingdom", Date: "FY 2007", Product: "Car", Quantity: 75, State: "England" },
- { Amount: 5820, Country: "United Kingdom", Date: "FY 2007", Product: "Van", Quantity: 39, State: "England" },
- { Amount: 2820, Country: "United States", Date: "FY 2007", Product: "Car", Quantity: 39, State: "England" },
- { Amount: 4820, Country: "United Kingdom", Date: "FY 2008", Product: "Bike", Quantity: 72, State: "England" },
- { Amount: 1520, Country: "United Kingdom", Date: "FY 2008", Product: "Car", Quantity: 93, State: "England" },
- { Amount: 1450, Country: "United Kingdom", Date: "FY 2008", Product: "Van", Quantity: 84, State: "England" },
- { Amount: 4930, Country: "United States", Date: "FY 2006", Product: "Van", Quantity: 59, State: "Alabama" },
- { Amount: 6250, Country: "United States", Date: "FY 2008", Product: "Bike", Quantity: 94, State: "Alabama" },
- { Amount: 1520, Country: "United States", Date: "FY 2006", Product: "Bike", Quantity: 53, State: "North Carolina" },
- { Amount: 150, Country: "United States", Date: "FY 2008", Product: "Van", Quantity: 61, State: "North Carolina" },
- { Amount: 3200, Country: "United States", Date: "FY 2005", Product: "Bike", Quantity: 47, State: "South Carolina" },
- { Amount: 3320, Country: "United States", Date: "FY 2005", Product: "Car", Quantity: 49, State: "South Carolina" },
- { Amount: 6300, Country: "United States", Date: "FY 2005", Product: "Van", Quantity: 45, State: "South Carolina" },
- { Amount: 4300, Country: "United States", Date: "FY 2006", Product: "Car", Quantity: 94, State: "South Carolina" },
- { Amount: 7200, Country: "United States", Date: "FY 2007", Product: "Bike", Quantity: 40, State: "South Carolina" },
- { Amount: 3900, Country: "United States", Date: "FY 2007", Product: "Van", Quantity: 43, State: "South Carolina" },
- ];
-
- export let alphanumeric_data: object[] = [
- {
- "ProductID": "618-XW",
- "Country": "Canada",
- "Sold": 90,
- "Amount": 9219069
-
- },
- {
- "ProductID": "1111-GQ",
- "Sold": 37,
- "Amount": 1571126,
- "Country": "Australia"
- },
- {
- "ProductID": "330-BR",
- "Sold": 31,
- "Amount": 9523258,
- "Country": "Germany"
- },
- {
- "ProductID": "1035-VC",
- "Sold": 86,
- "Amount": 1004572,
- "Country": "United States"
- },
- {
- "ProductID": "36-SW",
- "Sold": 73,
- "Amount": 4532163,
- "Country": "United Kingdom"
- },
- {
- "ProductID": "71-AJ",
- "Sold": 45,
- "Amount": 1916052,
- "Country": "Germany"
- },
- {
- "ProductID": "980-PP",
- "Sold": 85,
- "Amount": 6586156,
- "Country": "Canada"
- },
- {
- "ProductID": "209-FB",
- "Sold": 51,
- "Amount": 6348087,
- "Country": "Australia"
- },
- {
- "ProductID": "428-PL",
- "Sold": 65,
- "Amount": 1365854,
- "Country": "Germany"
- },
- {
- "ProductID": "618-XW",
- "Sold": 81,
- "Amount": 6461768,
- "Country": "United States"
- },
- {
- "ProductID": "1111-GQ",
- "Sold": 33,
- "Amount": 6181560,
- "Country": "United Kingdom"
- },
- {
- "ProductID": "330-BR",
- "Sold": 17,
- "Amount": 611364,
- "Country": "Germany"
- },
- {
- "ProductID": "1035-VC",
- "Sold": 41,
- "Amount": 3688930,
- "Country": "Canada"
- },
- {
- "ProductID": "36-SW",
- "Sold": 51,
- "Amount": 4648920,
- "Country": "Australia"
- },
- {
- "ProductID": "71-AJ",
- "Sold": 56,
- "Amount": 4579862,
- "Country": "Germany"
- },
- {
- "ProductID": "980-PP",
- "Sold": 25,
- "Amount": 1249117,
- "Country": "United States"
- },
- {
- "ProductID": "209-FB",
- "Sold": 60,
- "Amount": 9603891,
- "Country": "United Kingdom"
- },
- {
- "ProductID": "428-PL",
- "Sold": 31,
- "Amount": 9548655,
- "Country": "Canada"
- },
- {
- "ProductID": "618-XW",
- "Sold": 93,
- "Amount": 7496742,
- "Country": "Australia"
- },
- {
- "ProductID": "1111-GQ",
- "Sold": 62,
- "Amount": 8692814,
- "Country": "Germany"
- },
- {
- "ProductID": "330-BR",
- "Sold": 22,
- "Amount": 4789234,
- "Country": "United States"
- },
- {
- "ProductID": "1035-VC",
- "Sold": 61,
- "Amount": 7927531,
- "Country": "United Kingdom"
- },
- {
- "ProductID": "36-SW",
- "Sold": 68,
- "Amount": 5440025,
- "Country": "Germany"
- },
- {
- "ProductID": "71-AJ",
- "Sold": 87,
- "Amount": 8097913,
- "Country": "Canada"
- },
- {
- "ProductID": "980-PP",
- "Sold": 87,
- "Amount": 1809071,
- "Country": "Australia"
- },
- {
- "ProductID": "209-FB",
- "Sold": 96,
- "Amount": 9893092,
- "Country": "Germany"
- },
- {
- "ProductID": "428-PL",
- "Sold": 22,
- "Amount": 8136252,
- "Country": "United States"
- },
- {
- "ProductID": "618-XW",
- "Sold": 29,
- "Amount": 9190577,
- "Country": "United Kingdom"
- },
- {
- "ProductID": "1111-GQ",
- "Sold": 85,
- "Amount": 5410172,
- "Country": "Germany"
- }
- ];
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs322/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs322/src/app.component.ts
index 239bff296eb..b7770816cb7 100644
--- a/ej2-angular/code-snippet/pivot-grid/getting-started-cs322/src/app.component.ts
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs322/src/app.component.ts
@@ -1,6 +1,6 @@
import { NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
-import { PivotViewAllModule, PivotFieldListAllModule } from '@syncfusion/ej2-angular-pivotview'
+import { PivotViewAllModule, PivotFieldListAllModule, PDFExportService } from '@syncfusion/ej2-angular-pivotview'
import { Component, OnInit, ViewChild } from '@angular/core';
import { IDataSet, PivotView } from '@syncfusion/ej2-angular-pivotview';
@@ -16,8 +16,7 @@ imports: [
PivotViewAllModule,
PivotFieldListAllModule
],
-
-
+providers: [PDFExportService],
standalone: true,
selector: 'app-container',
template: `
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/angular.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/angular.json
new file mode 100644
index 00000000000..98b735ee4bb
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/angular.json
@@ -0,0 +1,70 @@
+{
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+ "version": 1,
+ "newProjectRoot": "projects",
+ "projects": {
+ "syncfusion-component": {
+ "projectType": "application",
+ "schematics": {},
+ "root": "",
+ "sourceRoot": "src",
+ "prefix": "app",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:browser",
+ "options": {
+ "outputPath": "dist",
+ "index": "index.html",
+ "main": "src/main.ts",
+ "tsConfig": "tsconfig.json",
+ "styles": [
+ "src/styles.css"
+ ],
+ "assets": []
+ },
+ "configurations": {
+ "production": {
+ "budgets": [
+ {
+ "type": "initial",
+ "maximumWarning": "500kb",
+ "maximumError": "10mb"
+ },
+ {
+ "type": "anyComponentStyle",
+ "maximumWarning": "2kb",
+ "maximumError": "4kb"
+ }
+ ],
+ "outputHashing": "all"
+ },
+ "development": {
+ "buildOptimizer": false,
+ "optimization": false,
+ "vendorChunk": true,
+ "extractLicenses": false,
+ "sourceMap": true,
+ "namedChunks": true
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "serve": {
+ "builder": "@angular-devkit/build-angular:dev-server",
+ "configurations": {
+ "production": {
+ "buildTarget": "syncfusion-component:build:production"
+ },
+ "development": {
+ "buildTarget": "syncfusion-component:build:development"
+ }
+ },
+ "defaultConfiguration": "development"
+ }
+ }
+ }
+ },
+ "cli": {
+ "analytics": false
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/index.html b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/index.html
new file mode 100644
index 00000000000..300331aaac7
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/index.html
@@ -0,0 +1,98 @@
+
+
+
+
Syncfusion Angular Pivot Grid
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/package.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/package.json
new file mode 100644
index 00000000000..9ab3ea20901
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/package.json
@@ -0,0 +1,51 @@
+{
+ "name": "syncfusion-component",
+ "version": "0.0.0",
+ "scripts": {
+ "ng": "ng",
+ "start": "ng serve",
+ "build": "ng build",
+ "watch": "ng build --watch --configuration development",
+ "test": "ng test"
+ },
+ "private": true,
+ "dependencies": {
+ "@angular/core": "17.1.2",
+ "@angular/platform-browser": "17.1.2",
+ "@angular/platform-browser-dynamic": "17.1.2",
+ "@syncfusion/ej2-angular-pivotview": "*",
+ "@syncfusion/ej2-base": "*",
+ "@syncfusion/ej2-buttons": "*",
+ "@syncfusion/ej2-dropdowns": "*",
+ "@syncfusion/ej2-grids": "*",
+ "@syncfusion/ej2-inputs": "*",
+ "@syncfusion/ej2-lists": "*",
+ "@syncfusion/ej2-navigations": "*",
+ "@syncfusion/ej2-popups": "*",
+ "@syncfusion/ej2-splitbuttons": "*",
+ "@syncfusion/ej2-angular-base": "*",
+ "@angular/animations": "17.1.2",
+ "@angular/common": "17.1.2",
+ "@angular/compiler": "17.1.2",
+ "@angular/forms": "17.1.2",
+ "@angular/router": "17.1.2",
+ "moment": "2.29.4",
+ "rxjs": "7.8.0",
+ "tslib": "2.3.0",
+ "zone.js": "0.14.3",
+ "@syncfusion/ej2-pivotview": "*"
+ },
+ "devDependencies": {
+ "@angular-devkit/build-angular": "17.1.2",
+ "@angular/cli": "17.1.2",
+ "@angular/compiler-cli": "17.1.2",
+ "@types/jasmine": "4.3.0",
+ "jasmine-core": "4.5.0",
+ "karma": "6.4.0",
+ "karma-chrome-launcher": "3.1.0",
+ "karma-coverage": "2.2.0",
+ "karma-jasmine": "5.1.0",
+ "karma-jasmine-html-reporter": "2.0.0",
+ "typescript": "5.3.3"
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/src/app.component.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/src/app.component.css
new file mode 100644
index 00000000000..92219ab17a2
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/src/app.component.css
@@ -0,0 +1,11 @@
+#PivotTable1Container {
+ margin-bottom: 20px;
+}
+
+.pivot-container {
+ padding: 10px;
+}
+
+#PivotTable1 {
+ margin-bottom: 20px;
+}
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/src/app.component.ts
new file mode 100644
index 00000000000..da2f5596080
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/src/app.component.ts
@@ -0,0 +1,89 @@
+import { NgModule } from '@angular/core'
+import { BrowserModule } from '@angular/platform-browser'
+import { PivotViewAllModule, PivotFieldListAllModule, PDFExportService, PdfExportProperties } from '@syncfusion/ej2-angular-pivotview'
+import { Component, OnInit, ViewChild } from '@angular/core';
+import { IDataSet, PivotView } from '@syncfusion/ej2-angular-pivotview';
+import { Button } from '@syncfusion/ej2-buttons';
+import { salesData } from './datasource';
+import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model';
+
+@Component({
+ imports: [
+ PivotViewAllModule,
+ PivotFieldListAllModule
+ ],
+ providers: [PDFExportService],
+ standalone: true,
+ selector: 'app-container',
+ styleUrls: ['./app.component.css'],
+ template: `
+
Export
`
+})
+
+export class AppComponent implements OnInit {
+ public width?: string;
+ public dataSourceSettings?: DataSourceSettingsModel;
+ public dataSourceSettings1?: DataSourceSettingsModel;
+ public button?: Button;
+
+ @ViewChild('PivotTable1', { static: false })
+ public pivotGridObj?: PivotView;
+
+ @ViewChild('PivotTable2')
+ public pivotGridObj1?: PivotView;
+
+ ngOnInit(): void {
+
+ this.width = "100%";
+
+ this.dataSourceSettings = {
+ dataSource: salesData as IDataSet[],
+ expandAll: false,
+ rows: [{ name: 'Region', caption: 'Region' }],
+ columns: [{ name: 'Product', caption: 'Product' }],
+ values: [
+ { name: 'Sales', caption: 'Q4 Sales' },
+ { name: 'ProfitMargin', caption: 'Profit Margin' }
+ ],
+ formatSettings: [
+ { name: 'Sales', format: 'C0' },
+ { name: 'ProfitMargin', format: '0\'%\'' }
+ ],
+ filterSettings: [{ name: 'Product', items: ['Laptop'], type: 'Include' }]
+ };
+
+ this.dataSourceSettings1 = {
+ dataSource: salesData as IDataSet[],
+ expandAll: false,
+ rows: [{ name: 'Region', caption: 'Region' }],
+ columns: [{ name: 'Product', caption: 'Product' }],
+ values: [
+ { name: 'Units', caption: 'Units Sold' },
+ { name: 'Sales', caption: 'Q4 Sales' }
+ ],
+ formatSettings: [
+ { name: 'ProfitMargin', format: '0\'%\'' },
+ { name: 'Sales', format: 'C0' }
+ ],
+ filterSettings: [{ name: 'Product', items: ['Smartphone'], type: 'Include' }]
+ };
+
+ this.button = new Button({ isPrimary: true });
+ this.button.appendTo('#export');
+
+ this.button.element.onclick = (): void => {
+ const pdfExportProperties: PdfExportProperties = {
+ multipleExport: { type: 'NewPage' },
+ pivotTableIds: ['PivotTable1', 'PivotTable2']
+ };
+ this.pivotGridObj1?.pdfExport(pdfExportProperties, true);
+ };
+ }
+}
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/src/datasource.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/src/datasource.ts
new file mode 100644
index 00000000000..79192c8e7ac
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/src/datasource.ts
@@ -0,0 +1,8 @@
+export let salesData: { [key: string]: Object }[] = [
+ { Region: 'Asia-Pacific', Product: 'Laptop', Quarter: 'Q4', Sales: 1450000, Units: 2900, ProfitMargin: 19 },
+ { Region: 'Asia-Pacific', Product: 'Smartphone', Quarter: 'Q4', Sales: 1200000, Units: 6000, ProfitMargin: 21 },
+ { Region: 'Europe', Product: 'Laptop', Quarter: 'Q4', Sales: 890000, Units: 1780, ProfitMargin: 16 },
+ { Region: 'Europe', Product: 'Smartphone', Quarter: 'Q4', Sales: 720000, Units: 3600, ProfitMargin: 20 },
+ { Region: 'North America', Product: 'Laptop', Quarter: 'Q4', Sales: 1250000, Units: 2500, ProfitMargin: 18 },
+ { Region: 'North America', Product: 'Smartphone', Quarter: 'Q4', Sales: 980000, Units: 4900, ProfitMargin: -22 }
+];
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/src/main.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/src/main.ts
new file mode 100644
index 00000000000..3607237bd6e
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/src/main.ts
@@ -0,0 +1,4 @@
+import { bootstrapApplication } from '@angular/platform-browser';
+import { AppComponent } from './app.component';
+import 'zone.js';
+bootstrapApplication(AppComponent).catch((err) => console.error(err));
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/src/styles.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/src/styles.css
new file mode 100644
index 00000000000..47b514c6822
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/src/styles.css
@@ -0,0 +1,12 @@
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-calendars/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-grids/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-pivotview/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-base/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/tsconfig.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/tsconfig.json
new file mode 100644
index 00000000000..9fa16d6333c
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs333/tsconfig.json
@@ -0,0 +1,32 @@
+{
+ "compileOnSave": false,
+ "compilerOptions": {
+ "baseUrl": "./",
+ "outDir": "./dist/out-tsc",
+ "forceConsistentCasingInFileNames": true,
+ "strict": true,
+ "noImplicitOverride": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "sourceMap": true,
+ "declaration": false,
+ "downlevelIteration": true,
+ "experimentalDecorators": true,
+ "moduleResolution": "node",
+ "importHelpers": true,
+ "target": "ES2022",
+ "module": "ES2022",
+ "useDefineForClassFields": false,
+ "lib": [
+ "ES2022",
+ "dom"
+ ]
+ },
+ "angularCompilerOptions": {
+ "enableI18nLegacyMessageIdFormat": false,
+ "strictInjectionParameters": true,
+ "strictInputAccessModifiers": true,
+ "strictTemplates": true
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/angular.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/angular.json
new file mode 100644
index 00000000000..98b735ee4bb
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/angular.json
@@ -0,0 +1,70 @@
+{
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+ "version": 1,
+ "newProjectRoot": "projects",
+ "projects": {
+ "syncfusion-component": {
+ "projectType": "application",
+ "schematics": {},
+ "root": "",
+ "sourceRoot": "src",
+ "prefix": "app",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:browser",
+ "options": {
+ "outputPath": "dist",
+ "index": "index.html",
+ "main": "src/main.ts",
+ "tsConfig": "tsconfig.json",
+ "styles": [
+ "src/styles.css"
+ ],
+ "assets": []
+ },
+ "configurations": {
+ "production": {
+ "budgets": [
+ {
+ "type": "initial",
+ "maximumWarning": "500kb",
+ "maximumError": "10mb"
+ },
+ {
+ "type": "anyComponentStyle",
+ "maximumWarning": "2kb",
+ "maximumError": "4kb"
+ }
+ ],
+ "outputHashing": "all"
+ },
+ "development": {
+ "buildOptimizer": false,
+ "optimization": false,
+ "vendorChunk": true,
+ "extractLicenses": false,
+ "sourceMap": true,
+ "namedChunks": true
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "serve": {
+ "builder": "@angular-devkit/build-angular:dev-server",
+ "configurations": {
+ "production": {
+ "buildTarget": "syncfusion-component:build:production"
+ },
+ "development": {
+ "buildTarget": "syncfusion-component:build:development"
+ }
+ },
+ "defaultConfiguration": "development"
+ }
+ }
+ }
+ },
+ "cli": {
+ "analytics": false
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/index.html b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/index.html
new file mode 100644
index 00000000000..300331aaac7
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/index.html
@@ -0,0 +1,98 @@
+
+
+
+
Syncfusion Angular Pivot Grid
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/package.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/package.json
new file mode 100644
index 00000000000..9ab3ea20901
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/package.json
@@ -0,0 +1,51 @@
+{
+ "name": "syncfusion-component",
+ "version": "0.0.0",
+ "scripts": {
+ "ng": "ng",
+ "start": "ng serve",
+ "build": "ng build",
+ "watch": "ng build --watch --configuration development",
+ "test": "ng test"
+ },
+ "private": true,
+ "dependencies": {
+ "@angular/core": "17.1.2",
+ "@angular/platform-browser": "17.1.2",
+ "@angular/platform-browser-dynamic": "17.1.2",
+ "@syncfusion/ej2-angular-pivotview": "*",
+ "@syncfusion/ej2-base": "*",
+ "@syncfusion/ej2-buttons": "*",
+ "@syncfusion/ej2-dropdowns": "*",
+ "@syncfusion/ej2-grids": "*",
+ "@syncfusion/ej2-inputs": "*",
+ "@syncfusion/ej2-lists": "*",
+ "@syncfusion/ej2-navigations": "*",
+ "@syncfusion/ej2-popups": "*",
+ "@syncfusion/ej2-splitbuttons": "*",
+ "@syncfusion/ej2-angular-base": "*",
+ "@angular/animations": "17.1.2",
+ "@angular/common": "17.1.2",
+ "@angular/compiler": "17.1.2",
+ "@angular/forms": "17.1.2",
+ "@angular/router": "17.1.2",
+ "moment": "2.29.4",
+ "rxjs": "7.8.0",
+ "tslib": "2.3.0",
+ "zone.js": "0.14.3",
+ "@syncfusion/ej2-pivotview": "*"
+ },
+ "devDependencies": {
+ "@angular-devkit/build-angular": "17.1.2",
+ "@angular/cli": "17.1.2",
+ "@angular/compiler-cli": "17.1.2",
+ "@types/jasmine": "4.3.0",
+ "jasmine-core": "4.5.0",
+ "karma": "6.4.0",
+ "karma-chrome-launcher": "3.1.0",
+ "karma-coverage": "2.2.0",
+ "karma-jasmine": "5.1.0",
+ "karma-jasmine-html-reporter": "2.0.0",
+ "typescript": "5.3.3"
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/src/app.component.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/src/app.component.css
new file mode 100644
index 00000000000..92219ab17a2
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/src/app.component.css
@@ -0,0 +1,11 @@
+#PivotTable1Container {
+ margin-bottom: 20px;
+}
+
+.pivot-container {
+ padding: 10px;
+}
+
+#PivotTable1 {
+ margin-bottom: 20px;
+}
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/src/app.component.ts
new file mode 100644
index 00000000000..cf497115acd
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/src/app.component.ts
@@ -0,0 +1,72 @@
+import { NgModule } from '@angular/core'
+import { BrowserModule } from '@angular/platform-browser'
+import { PivotViewAllModule, PivotFieldListAllModule, PDFExportService, BeforeExportEventArgs } from '@syncfusion/ej2-angular-pivotview'
+import { Component, OnInit, ViewChild } from '@angular/core';
+import { IDataSet, PivotView } from '@syncfusion/ej2-angular-pivotview';
+import { Button } from '@syncfusion/ej2-buttons';
+import { Pivot_Data } from './datasource';
+import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model';
+
+@Component({
+ imports: [
+ PivotViewAllModule,
+ PivotFieldListAllModule
+ ],
+ standalone: true,
+ selector: 'app-container',
+ template: `
+
+
+
Export
`,
+ providers: [PDFExportService],
+})
+export class AppComponent implements OnInit {
+ public width?: string;
+ public button?: Button;
+ public dataSourceSettings?: DataSourceSettingsModel;
+
+ @ViewChild('pivotview', { static: false })
+ public pivotGridObj?: PivotView;
+
+ beforeExport(args: BeforeExportEventArgs) {
+ // Store the drilledMembers here(row/column headers that has been expanded).
+ let member = this.pivotGridObj?.dataSourceSettings.drilledMembers;
+ // Then apply expandAll to the pivot table settings to get all the data including child members.
+ this.pivotGridObj?.setProperties(
+ { dataSourceSettings: { expandAll: true, drilledMembers: [] } },
+ true
+ );
+ this.pivotGridObj?.engineModule.generateGridData(this.pivotGridObj.dataSourceSettings, true);
+ // Assign that retrieved data to the exporting here.
+ args.dataCollections = [(this.pivotGridObj as any).engineModule?.pivotValues];
+ // Then set false to expandAll and the stored members to the drilledMembers to the pivot table settings to get back to the normal state.
+ this.pivotGridObj?.setProperties(
+ { dataSourceSettings: { expandAll: false, drilledMembers: member } },
+ true
+ );
+ }
+
+ ngOnInit(): void {
+ this.dataSourceSettings = {
+ dataSource: Pivot_Data as IDataSet[],
+ enableSorting: true,
+ columns: [{ name: 'Year' }],
+ values: [
+ { name: 'Sold', caption: 'Units Sold' },
+ { name: 'Amount', caption: 'Sold Amount' },
+ ],
+ rows: [{ name: 'Country' }, { name: 'Products' }],
+ formatSettings: [{ name: 'Amount', format: 'C0' }],
+ expandAll: false,
+ filters: []
+ };
+
+ this.button = new Button({ isPrimary: true });
+ this.button.appendTo('#export');
+
+ this.button.element.onclick = (): void => {
+ this.pivotGridObj?.pdfExport();
+ };
+ }
+}
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/src/datasource.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/src/datasource.ts
new file mode 100644
index 00000000000..ae1cd9ea534
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/src/datasource.ts
@@ -0,0 +1,2393 @@
+export let Pivot_Data: Object[] =
+ [{ 'In_Stock': 34, 'Sold': 51, 'Amount': 383, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 4, 'Sold': 423, 'Amount': 3595.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 38, 'Sold': 234, 'Amount': 1813.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 42, 'Sold': 127, 'Amount': 952.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 36, 'Sold': 89, 'Amount': 668, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 17, 'Sold': 340, 'Amount': 2890, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 22, 'Sold': 379, 'Amount': 2937.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 12, 'Sold': 269, 'Amount': 2017.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 28, 'Sold': 15, 'Amount': 113, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 46, 'Sold': 369, 'Amount': 3136.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 16, 'Sold': 410, 'Amount': 3177.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 18, 'Sold': 99, 'Amount': 742.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 50, 'Sold': 50, 'Amount': 375.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 31, 'Sold': 129, 'Amount': 1096.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 23, 'Sold': 404, 'Amount': 3131, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 42, 'Sold': 132, 'Amount': 990, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 42, 'Sold': 56, 'Amount': 420.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 45, 'Sold': 481, 'Amount': 4088.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 3, 'Sold': 71, 'Amount': 550.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 35, 'Sold': 455, 'Amount': 3412.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 44, 'Sold': 25, 'Amount': 188, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 6, 'Sold': 466, 'Amount': 3961, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 47, 'Sold': 198, 'Amount': 1534.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 15, 'Sold': 421, 'Amount': 3157.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 18, 'Sold': 10, 'Amount': 75.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 6, 'Sold': 348, 'Amount': 2958, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 46, 'Sold': 118, 'Amount': 914.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 37, 'Sold': 207, 'Amount': 1552.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 45, 'Amount': 338, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 39, 'Sold': 97, 'Amount': 824.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 3, 'Sold': 271, 'Amount': 2100.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 23, 'Sold': 501, 'Amount': 3757.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 42, 'Sold': 63, 'Amount': 473, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 36, 'Sold': 456, 'Amount': 3876, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 44, 'Sold': 155, 'Amount': 1201.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 12, 'Sold': 140, 'Amount': 1050, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 9, 'Sold': 31, 'Amount': 233, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 49, 'Sold': 402, 'Amount': 3417, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 254, 'Amount': 1968.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 28, 'Sold': 314, 'Amount': 2355, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 43, 'Sold': 91, 'Amount': 683, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 44, 'Sold': 202, 'Amount': 1717, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 11, 'Sold': 298, 'Amount': 2309.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 39, 'Sold': 166, 'Amount': 1245, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 7, 'Sold': 11, 'Amount': 83, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 33, 'Sold': 416, 'Amount': 3536, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 39, 'Sold': 55, 'Amount': 426.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 16, 'Sold': 510, 'Amount': 3825, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 4, 'Sold': 199, 'Amount': 1691.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 4, 'Sold': 103, 'Amount': 798.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 42, 'Sold': 227, 'Amount': 1702.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 36, 'Sold': 16, 'Amount': 72, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 18, 'Sold': 250, 'Amount': 1250, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 19, 'Sold': 386, 'Amount': 1640.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 40, 'Sold': 165, 'Amount': 660, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 45, 'Sold': 83, 'Amount': 373.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 11, 'Sold': 221, 'Amount': 1105, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 17, 'Sold': 249, 'Amount': 1058.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 50, 'Sold': 418, 'Amount': 1672, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 34, 'Sold': 55, 'Amount': 247.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 3, 'Sold': 415, 'Amount': 2075, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 42, 'Sold': 57, 'Amount': 242.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 5, 'Sold': 252, 'Amount': 1008, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 11, 'Sold': 19, 'Amount': 85.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 10, 'Sold': 64, 'Amount': 320, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 42, 'Sold': 66, 'Amount': 280.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 33, 'Sold': 263, 'Amount': 1052, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 41, 'Sold': 61, 'Amount': 274.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 33, 'Sold': 257, 'Amount': 1285, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 386, 'Amount': 1640.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 10, 'Sold': 503, 'Amount': 2012, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 7, 'Sold': 43, 'Amount': 193.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 322, 'Amount': 1610, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 40, 'Sold': 305, 'Amount': 1296.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 46, 'Sold': 171, 'Amount': 684, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 8, 'Sold': 22, 'Amount': 99, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 18, 'Sold': 254, 'Amount': 1270, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 19, 'Sold': 72, 'Amount': 306, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 37, 'Sold': 286, 'Amount': 1144, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 15, 'Sold': 95, 'Amount': 427.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 48, 'Sold': 271, 'Amount': 1355, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 67, 'Amount': 284.75, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 16, 'Sold': 92, 'Amount': 368, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 18, 'Sold': 86, 'Amount': 387, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 15, 'Sold': 320, 'Amount': 1600, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 5, 'Sold': 244, 'Amount': 1037, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 45, 'Sold': 403, 'Amount': 1612, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 3, 'Sold': 45, 'Amount': 202.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 41, 'Sold': 323, 'Amount': 1615, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 11, 'Sold': 256, 'Amount': 1088, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 24, 'Sold': 361, 'Amount': 1444, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 47, 'Sold': 57, 'Amount': 256.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 2, 'Sold': 269, 'Amount': 1345, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 45, 'Sold': 448, 'Amount': 1904, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 10, 'Sold': 376, 'Amount': 1504, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 41, 'Sold': 15, 'Amount': 67.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 12, 'Sold': 157, 'Amount': 785, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 35, 'Sold': 170, 'Amount': 722.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 32, 'Sold': 542, 'Amount': 2168, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 13, 'Sold': 96, 'Amount': 432, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 212, 'Amount': 1060, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 5, 'Sold': 342, 'Amount': 1453.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 40, 'Sold': 84, 'Amount': 336, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 20, 'Sold': 42, 'Amount': 483, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 15, 'Sold': 287, 'Amount': 3444, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 371, 'Amount': 4173.75, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 48, 'Sold': 414, 'Amount': 4554, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 43, 'Sold': 14, 'Amount': 161, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 20, 'Sold': 81, 'Amount': 972, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 48, 'Sold': 438, 'Amount': 4927.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 32, 'Sold': 507, 'Amount': 5577, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 45, 'Sold': 65, 'Amount': 747.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 41, 'Sold': 382, 'Amount': 4584, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 31, 'Sold': 322, 'Amount': 3622.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 6, 'Sold': 313, 'Amount': 3443, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 20, 'Sold': 48, 'Amount': 552, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 29, 'Sold': 345, 'Amount': 4140, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 15, 'Sold': 77, 'Amount': 866.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 32, 'Sold': 339, 'Amount': 3729, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 1, 'Sold': 21, 'Amount': 241.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 29, 'Sold': 355, 'Amount': 4260, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 48, 'Sold': 76, 'Amount': 855, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 180, 'Amount': 1980, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 15, 'Sold': 44, 'Amount': 506, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 36, 'Sold': 453, 'Amount': 5436, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 33, 'Sold': 410, 'Amount': 4612.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 3, 'Sold': 163, 'Amount': 1793, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 36, 'Sold': 77, 'Amount': 885.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 9, 'Sold': 489, 'Amount': 5868, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 4, 'Sold': 265, 'Amount': 2981.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 33, 'Sold': 360, 'Amount': 3960, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 16, 'Sold': 47, 'Amount': 540.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 24, 'Sold': 201, 'Amount': 2412, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 41, 'Sold': 383, 'Amount': 4308.75, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 33, 'Sold': 83, 'Amount': 913, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 14, 'Sold': 24, 'Amount': 276, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 141, 'Amount': 1692, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 30, 'Sold': 332, 'Amount': 3735, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 50, 'Sold': 253, 'Amount': 2783, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 31, 'Amount': 356.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 37, 'Sold': 352, 'Amount': 4224, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 443, 'Amount': 4983.75, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 50, 'Sold': 185, 'Amount': 2035, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 20, 'Sold': 17, 'Amount': 195.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 49, 'Sold': 165, 'Amount': 1980, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 27, 'Sold': 466, 'Amount': 5242.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 512, 'Amount': 5632, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 29, 'Sold': 42, 'Amount': 483, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 29, 'Sold': 102, 'Amount': 1224, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 14, 'Sold': 133, 'Amount': 1496.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 36, 'Sold': 391, 'Amount': 4301, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 29, 'Sold': 20, 'Amount': 230, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 42, 'Sold': 145, 'Amount': 1740, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 398, 'Amount': 4477.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 472, 'Amount': 5192, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 24, 'Sold': 32, 'Amount': 504.96, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 40, 'Sold': 258, 'Amount': 4200.24, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 26, 'Sold': 442, 'Amount': 6864.26, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 3, 'Sold': 317, 'Amount': 4843.76, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 32, 'Amount': 504.96, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 16, 'Sold': 133, 'Amount': 2165.24, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 40, 'Sold': 117, 'Amount': 1817.01, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 37, 'Sold': 129, 'Amount': 1971.12, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 45, 'Sold': 80, 'Amount': 1262.4, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 36, 'Sold': 139, 'Amount': 2262.92, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 18, 'Sold': 234, 'Amount': 3634.02, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 38, 'Sold': 444, 'Amount': 6784.32, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 36, 'Sold': 60, 'Amount': 946.8, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 15, 'Sold': 470, 'Amount': 7651.6, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 27, 'Sold': 448, 'Amount': 6957.44, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 118, 'Amount': 1803.04, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 15, 'Amount': 236.7, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 45, 'Sold': 95, 'Amount': 1546.6, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 35, 'Sold': 191, 'Amount': 2966.23, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 426, 'Amount': 6509.28, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 35, 'Sold': 78, 'Amount': 1230.84, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 3, 'Sold': 69, 'Amount': 1123.32, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 221, 'Amount': 3432.13, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 13, 'Sold': 285, 'Amount': 4354.8, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 26, 'Sold': 56, 'Amount': 883.68, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 303, 'Amount': 4932.84, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 34, 'Sold': 419, 'Amount': 6507.07, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 26, 'Sold': 397, 'Amount': 6066.16, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 14, 'Sold': 90, 'Amount': 1420.2, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 337, 'Amount': 5486.36, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 47, 'Sold': 74, 'Amount': 1149.22, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 26, 'Sold': 203, 'Amount': 3101.84, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 10, 'Sold': 83, 'Amount': 1309.74, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 29, 'Sold': 152, 'Amount': 2474.56, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 30, 'Sold': 144, 'Amount': 2236.32, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 231, 'Amount': 3529.68, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 47, 'Amount': 741.66, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 29, 'Sold': 464, 'Amount': 7553.92, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 3, 'Sold': 460, 'Amount': 7143.8, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 27, 'Sold': 343, 'Amount': 5241.04, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 6, 'Sold': 22, 'Amount': 347.16, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 20, 'Sold': 161, 'Amount': 2621.08, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 4, 'Sold': 188, 'Amount': 2919.64, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 26, 'Sold': 233, 'Amount': 3560.24, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 26, 'Sold': 17, 'Amount': 268.26, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 39, 'Sold': 121, 'Amount': 1969.88, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 49, 'Sold': 469, 'Amount': 7283.57, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 31, 'Sold': 297, 'Amount': 4538.16, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 4, 'Sold': 30, 'Amount': 473.4, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 288, 'Amount': 4688.64, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 8, 'Sold': 155, 'Amount': 2407.15, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 7, 'Sold': 121, 'Amount': 1848.88, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 46, 'Amount': 1414.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 3, 'Sold': 328, 'Amount': 10250, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 32, 'Sold': 393, 'Amount': 11986.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 49, 'Sold': 415, 'Amount': 12553.75, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 63, 'Amount': 1937.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 6, 'Sold': 411, 'Amount': 12843.75, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 19, 'Sold': 106, 'Amount': 3233, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 10, 'Sold': 222, 'Amount': 6715.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 43, 'Sold': 98, 'Amount': 3013.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 27, 'Sold': 59, 'Amount': 1843.75, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 18, 'Sold': 355, 'Amount': 10827.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 12, 'Sold': 76, 'Amount': 2299, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 16, 'Sold': 38, 'Amount': 1168.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 47, 'Sold': 189, 'Amount': 5906.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 16, 'Sold': 458, 'Amount': 13969, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 19, 'Sold': 436, 'Amount': 13189, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 38, 'Sold': 19, 'Amount': 584.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 444, 'Amount': 13875, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 33, 'Sold': 186, 'Amount': 5673, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 3, 'Sold': 225, 'Amount': 6806.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 26, 'Sold': 11, 'Amount': 338.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 16, 'Sold': 61, 'Amount': 1906.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 24, 'Sold': 272, 'Amount': 8296, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 44, 'Sold': 150, 'Amount': 4537.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 11, 'Sold': 51, 'Amount': 1568.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 32, 'Sold': 490, 'Amount': 15312.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 41, 'Sold': 487, 'Amount': 14853.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 36, 'Sold': 184, 'Amount': 5566, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 9, 'Sold': 24, 'Amount': 738, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 50, 'Sold': 101, 'Amount': 3156.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 39, 'Sold': 301, 'Amount': 9180.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 25, 'Sold': 506, 'Amount': 15306.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 1, 'Sold': 89, 'Amount': 2736.75, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 1, 'Sold': 80, 'Amount': 2500, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 196, 'Amount': 5978, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 36, 'Sold': 103, 'Amount': 3115.75, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 20, 'Sold': 35, 'Amount': 1076.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 47, 'Sold': 159, 'Amount': 4968.75, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 45, 'Sold': 392, 'Amount': 11956, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 438, 'Amount': 13249.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 75, 'Amount': 2306.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 40, 'Sold': 383, 'Amount': 11968.75, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 43, 'Sold': 160, 'Amount': 4880, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 29, 'Sold': 378, 'Amount': 11434.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 50, 'Sold': 18, 'Amount': 553.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 140, 'Amount': 4375, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 18, 'Sold': 258, 'Amount': 7869, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 19, 'Sold': 508, 'Amount': 15367, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 11, 'Sold': 59, 'Amount': 1814.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 29, 'Sold': 83, 'Amount': 2593.75, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 414, 'Amount': 12627, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 49, 'Sold': 341, 'Amount': 10315.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 48, 'Amount': 936, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 12, 'Sold': 174, 'Amount': 3480, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 202, 'Amount': 3888.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 9, 'Sold': 469, 'Amount': 8911, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 53, 'Amount': 1033.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 19, 'Sold': 74, 'Amount': 1480, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 5, 'Sold': 467, 'Amount': 8989.75, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 40, 'Sold': 322, 'Amount': 6118, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 8, 'Sold': 53, 'Amount': 1033.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 22, 'Sold': 468, 'Amount': 9360, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 12, 'Sold': 277, 'Amount': 5332.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 31, 'Sold': 236, 'Amount': 4484, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 7, 'Sold': 49, 'Amount': 955.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 24, 'Sold': 191, 'Amount': 3820, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 32, 'Sold': 165, 'Amount': 3176.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 28, 'Sold': 185, 'Amount': 3515, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 5, 'Sold': 92, 'Amount': 1794, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 44, 'Sold': 128, 'Amount': 2560, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 33, 'Sold': 258, 'Amount': 4966.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 24, 'Sold': 274, 'Amount': 5206, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 58, 'Amount': 1131, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 322, 'Amount': 6440, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 44, 'Sold': 168, 'Amount': 3234, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 120, 'Amount': 2280, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 8, 'Sold': 18, 'Amount': 351, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 23, 'Sold': 142, 'Amount': 2840, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 4, 'Sold': 133, 'Amount': 2560.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 10, 'Sold': 377, 'Amount': 7163, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 1, 'Sold': 56, 'Amount': 1092, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 22, 'Sold': 318, 'Amount': 6360, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 8, 'Sold': 456, 'Amount': 8778, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 21, 'Sold': 408, 'Amount': 7752, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 33, 'Sold': 34, 'Amount': 663, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 226, 'Amount': 4520, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 4, 'Sold': 355, 'Amount': 6833.75, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 45, 'Sold': 237, 'Amount': 4503, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 94, 'Amount': 1833, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 41, 'Sold': 273, 'Amount': 5460, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 2, 'Sold': 280, 'Amount': 5390, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 146, 'Amount': 2774, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 17, 'Sold': 37, 'Amount': 721.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 40, 'Sold': 219, 'Amount': 4380, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 29, 'Sold': 497, 'Amount': 9567.25, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 31, 'Sold': 378, 'Amount': 7182, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 15, 'Sold': 83, 'Amount': 1618.5, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 24, 'Sold': 211, 'Amount': 4220, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 42, 'Sold': 372, 'Amount': 7161, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 8, 'Sold': 537, 'Amount': 10203, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 8, 'Sold': 58, 'Amount': 1131, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 155, 'Amount': 3100, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 17, 'Sold': 211, 'Amount': 4061.75, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 1, 'Sold': 134, 'Amount': 2546, 'Country': 'France', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 18, 'Sold': 58, 'Amount': 98832, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 8, 'Sold': 474, 'Amount': 810066, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 43, 'Sold': 447, 'Amount': 762582, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 12, 'Sold': 289, 'Amount': 491011, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 43, 'Sold': 60, 'Amount': 102240, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 29, 'Sold': 93, 'Amount': 158937, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 11, 'Sold': 96, 'Amount': 163776, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 29, 'Sold': 401, 'Amount': 681299, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 42, 'Sold': 83, 'Amount': 141432, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 21, 'Sold': 427, 'Amount': 729743, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 33, 'Sold': 396, 'Amount': 675576, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 11, 'Sold': 98, 'Amount': 166502, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 29, 'Sold': 48, 'Amount': 81792, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 31, 'Sold': 288, 'Amount': 492192, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 40, 'Sold': 352, 'Amount': 600512, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 12, 'Sold': 426, 'Amount': 723774, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 19, 'Sold': 85, 'Amount': 144840, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 18, 'Sold': 432, 'Amount': 738288, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 267, 'Amount': 455502, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 33, 'Sold': 434, 'Amount': 737366, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 24, 'Sold': 39, 'Amount': 66456, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 39, 'Sold': 171, 'Amount': 292239, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 20, 'Sold': 304, 'Amount': 518624, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 13, 'Sold': 441, 'Amount': 749259, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 16, 'Sold': 68, 'Amount': 115872, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 2, 'Sold': 406, 'Amount': 693854, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 10, 'Sold': 50, 'Amount': 85300, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 40, 'Sold': 231, 'Amount': 392469, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 31, 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 34, 'Sold': 254, 'Amount': 434086, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 38, 'Sold': 455, 'Amount': 776230, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 39, 'Sold': 304, 'Amount': 516496, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 50, 'Sold': 40, 'Amount': 68160, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 23, 'Sold': 204, 'Amount': 348636, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 26, 'Sold': 231, 'Amount': 394086, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 30, 'Sold': 531, 'Amount': 902169, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 35, 'Sold': 45, 'Amount': 76680, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 8, 'Sold': 275, 'Amount': 469975, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 42, 'Sold': 292, 'Amount': 498152, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 25, 'Sold': 197, 'Amount': 334703, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 8, 'Sold': 35, 'Amount': 59640, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 31, 'Sold': 234, 'Amount': 399906, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 34, 'Sold': 127, 'Amount': 216662, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 44, 'Sold': 377, 'Amount': 640523, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 31, 'Sold': 40, 'Amount': 68160, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 33, 'Sold': 474, 'Amount': 810066, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 49, 'Sold': 168, 'Amount': 286608, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 43, 'Sold': 521, 'Amount': 885179, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 32, 'Sold': 55, 'Amount': 93720, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 39, 'Sold': 309, 'Amount': 528081, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 8, 'Sold': 466, 'Amount': 794996, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 296, 'Amount': 502904, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 76, 'Amount': 113929, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 202, 'Amount': 304818, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 19, 'Sold': 285, 'Amount': 429210, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 1, 'Sold': 345, 'Amount': 571119, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 61, 'Amount': 91444, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 1, 'Sold': 94, 'Amount': 141846, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 27, 'Sold': 241, 'Amount': 362946, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 17, 'Sold': 186, 'Amount': 795969, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 4, 'Sold': 79, 'Amount': 118426, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 16, 'Sold': 341, 'Amount': 514569, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 27, 'Sold': 401, 'Amount': 603906, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 24, 'Sold': 204, 'Amount': 517155, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 37, 'Sold': 71, 'Amount': 106434, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 32, 'Sold': 368, 'Amount': 555312, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 14, 'Sold': 500, 'Amount': 753000, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 44, 'Sold': 275, 'Amount': 278814, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 32, 'Sold': 41, 'Amount': 61464, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 49, 'Sold': 172, 'Amount': 259548, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 8, 'Sold': 432, 'Amount': 650592, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 241, 'Amount': 305796, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 40, 'Sold': 40, 'Amount': 59965, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 50, 'Sold': 350, 'Amount': 528150, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 468, 'Amount': 704808, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 6, 'Sold': 250, 'Amount': 412225, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 98, 'Amount': 146907, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 228, 'Amount': 344052, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 42, 'Sold': 407, 'Amount': 612942, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 18, 'Sold': 217, 'Amount': 361259, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 30, 'Sold': 63, 'Amount': 94442, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 3, 'Sold': 303, 'Amount': 457227, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 23, 'Sold': 364, 'Amount': 548184, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 29, 'Sold': 191, 'Amount': 374750, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 27, 'Sold': 47, 'Amount': 70458, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 325, 'Amount': 490425, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 469, 'Amount': 706314, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 6, 'Sold': 183, 'Amount': 325283, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 84, 'Amount': 125921, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 374, 'Amount': 564366, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 5, 'Sold': 314, 'Amount': 472884, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 24, 'Sold': 427, 'Amount': 286309, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 6, 'Sold': 81, 'Amount': 121424, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 4, 'Sold': 80, 'Amount': 120720, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 24, 'Sold': 314, 'Amount': 472884, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 1, 'Sold': 495, 'Amount': 274317, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 16, 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 48, 'Sold': 380, 'Amount': 573420, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 1, 'Sold': 157, 'Amount': 236442, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 44, 'Sold': 450, 'Amount': 640073, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 14, 'Sold': 10, 'Amount': 14995, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 330, 'Amount': 497970, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 27, 'Sold': 324, 'Amount': 487944, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 346, 'Amount': 742005, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 10, 'Sold': 83, 'Amount': 132426.5, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 45, 'Sold': 51, 'Amount': 81396, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 1, 'Sold': 483, 'Amount': 770505.75, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 17, 'Sold': 233, 'Amount': 371635, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 42, 'Sold': 46, 'Amount': 73393, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 5, 'Sold': 306, 'Amount': 488376, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 22, 'Sold': 124, 'Amount': 197811, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 45, 'Sold': 409, 'Amount': 652355, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 27, 'Sold': 66, 'Amount': 105303, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 27, 'Sold': 172, 'Amount': 274512, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 16, 'Sold': 193, 'Amount': 307883.25, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 11, 'Sold': 510, 'Amount': 813450, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 42, 'Sold': 56, 'Amount': 89348, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 10, 'Sold': 61, 'Amount': 97356, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 16, 'Sold': 51, 'Amount': 81357.75, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 44, 'Sold': 360, 'Amount': 574200, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 38, 'Sold': 51, 'Amount': 81370.5, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 176, 'Amount': 280896, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 372, 'Amount': 593433, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 32, 'Sold': 473, 'Amount': 754435, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 27, 'Sold': 85, 'Amount': 135617.5, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 18, 'Sold': 457, 'Amount': 729372, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 15, 'Sold': 305, 'Amount': 486551.25, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 29, 'Sold': 513, 'Amount': 818235, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 49, 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 12, 'Sold': 87, 'Amount': 138852, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 24, 'Sold': 378, 'Amount': 603004.5, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 10, 'Sold': 65, 'Amount': 103675, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 35, 'Sold': 84, 'Amount': 134022, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 41, 'Sold': 118, 'Amount': 188328, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 29, 'Sold': 242, 'Amount': 386050.5, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 5, 'Sold': 396, 'Amount': 631620, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 6, 'Sold': 85, 'Amount': 135617.5, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 98, 'Amount': 156408, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 50, 'Sold': 251, 'Amount': 400407.75, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 144, 'Amount': 229680, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 7, 'Sold': 85, 'Amount': 135617.5, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 14, 'Sold': 465, 'Amount': 742140, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 23, 'Sold': 421, 'Amount': 671600.25, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 3, 'Sold': 355, 'Amount': 566225, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 47, 'Sold': 17, 'Amount': 27123.5, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 48, 'Sold': 125, 'Amount': 199500, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 41, 'Sold': 256, 'Amount': 408384, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 48, 'Sold': 126, 'Amount': 200970, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 30, 'Sold': 77, 'Amount': 122853.5, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 35, 'Sold': 139, 'Amount': 221844, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 4, 'Sold': 371, 'Amount': 591837.75, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 19, 'Sold': 353, 'Amount': 563035, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 43, 'Sold': 80, 'Amount': 127640, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 36, 'Sold': 168, 'Amount': 268128, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 27, 'Sold': 492, 'Amount': 784863, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 320, 'Amount': 510400, 'Country': 'France', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 54, 'Amount': 324.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 22, 'Sold': 107, 'Amount': 856, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 43, 'Sold': 86, 'Amount': 537.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 26, 'Sold': 332, 'Amount': 1992, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 9, 'Sold': 75, 'Amount': 450.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 19, 'Sold': 155, 'Amount': 1240, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 34, 'Sold': 479, 'Amount': 2993.75, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 18, 'Sold': 227, 'Amount': 1362, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 20, 'Sold': 52, 'Amount': 312.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 24, 'Sold': 107, 'Amount': 856, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 16, 'Sold': 457, 'Amount': 2856.25, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 38, 'Sold': 122, 'Amount': 732, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 38, 'Sold': 28, 'Amount': 168.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 36, 'Sold': 490, 'Amount': 3920, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 15, 'Sold': 464, 'Amount': 2900, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 18, 'Sold': 329, 'Amount': 1974, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 38, 'Sold': 81, 'Amount': 486.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 19, 'Sold': 94, 'Amount': 752, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 43, 'Sold': 230, 'Amount': 1437.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 404, 'Amount': 2424, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 45, 'Sold': 27, 'Amount': 162.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 42, 'Sold': 106, 'Amount': 848, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 9, 'Sold': 358, 'Amount': 2237.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 25, 'Sold': 140, 'Amount': 840, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 28, 'Sold': 48, 'Amount': 288.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 11, 'Sold': 155, 'Amount': 1240, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 39, 'Sold': 176, 'Amount': 1100, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 22, 'Sold': 501, 'Amount': 3006, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 28, 'Sold': 14, 'Amount': 84.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 45, 'Sold': 98, 'Amount': 784, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 6, 'Sold': 280, 'Amount': 1750, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 36, 'Sold': 285, 'Amount': 1710, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 5, 'Sold': 67, 'Amount': 402.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 1, 'Sold': 103, 'Amount': 824, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 20, 'Sold': 247, 'Amount': 1543.75, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 3, 'Sold': 153, 'Amount': 918, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 40, 'Sold': 49, 'Amount': 294.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 39, 'Sold': 348, 'Amount': 2784, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 28, 'Sold': 461, 'Amount': 2881.25, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 23, 'Sold': 536, 'Amount': 3216, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 3, 'Sold': 83, 'Amount': 498.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 4, 'Sold': 68, 'Amount': 544, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 11, 'Sold': 390, 'Amount': 2437.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 49, 'Sold': 154, 'Amount': 924, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 47, 'Sold': 38, 'Amount': 228.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 37, 'Sold': 413, 'Amount': 3304, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 38, 'Sold': 380, 'Amount': 2375, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 46, 'Sold': 226, 'Amount': 1356, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 41, 'Sold': 65, 'Amount': 390.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 29, 'Sold': 176, 'Amount': 1408, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 39, 'Sold': 217, 'Amount': 1356.25, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 32, 'Sold': 318, 'Amount': 1908, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 21, 'Amount': 598.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 44, 'Sold': 68, 'Amount': 1972, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 38, 'Sold': 277, 'Amount': 7825.25, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 5, 'Sold': 191, 'Amount': 5348, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 8, 'Sold': 63, 'Amount': 1795.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 84, 'Amount': 2436, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 5, 'Sold': 226, 'Amount': 6384.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 47, 'Sold': 143, 'Amount': 4004, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 35, 'Sold': 78, 'Amount': 2223, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 39, 'Sold': 391, 'Amount': 11339, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 47, 'Sold': 216, 'Amount': 6102, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 14, 'Sold': 269, 'Amount': 7532, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 9, 'Sold': 27, 'Amount': 769.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 495, 'Amount': 14355, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 9, 'Sold': 499, 'Amount': 14096.75, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 48, 'Sold': 135, 'Amount': 3780, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 20, 'Sold': 32, 'Amount': 912, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 328, 'Amount': 9512, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 43, 'Sold': 230, 'Amount': 6497.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 101, 'Amount': 2828, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 32, 'Sold': 78, 'Amount': 2223, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 76, 'Amount': 2204, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 12, 'Sold': 264, 'Amount': 7458, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 48, 'Sold': 508, 'Amount': 14224, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 24, 'Sold': 29, 'Amount': 826.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 47, 'Sold': 274, 'Amount': 7946, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 40, 'Sold': 357, 'Amount': 10085.25, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 8, 'Sold': 268, 'Amount': 7504, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 39, 'Sold': 87, 'Amount': 2479.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 43, 'Sold': 288, 'Amount': 8352, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 5, 'Sold': 109, 'Amount': 3079.25, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 1, 'Sold': 434, 'Amount': 12152, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 6, 'Sold': 13, 'Amount': 370.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 292, 'Amount': 8468, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 9, 'Sold': 439, 'Amount': 12401.75, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 449, 'Amount': 12572, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 68, 'Amount': 1938, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 4, 'Sold': 274, 'Amount': 7946, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 40, 'Sold': 394, 'Amount': 11130.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 32, 'Sold': 382, 'Amount': 10696, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 36, 'Amount': 1026, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 5, 'Sold': 120, 'Amount': 3480, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 4, 'Sold': 277, 'Amount': 7825.25, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 34, 'Sold': 439, 'Amount': 12292, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 39, 'Sold': 50, 'Amount': 1425, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 44, 'Sold': 258, 'Amount': 7482, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 2, 'Sold': 269, 'Amount': 7599.25, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 35, 'Sold': 427, 'Amount': 11956, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 10, 'Sold': 61, 'Amount': 1738.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 46, 'Sold': 192, 'Amount': 5568, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 431, 'Amount': 12175.75, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 10, 'Sold': 506, 'Amount': 14168, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 19, 'Sold': 79, 'Amount': 1698.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 20, 'Sold': 476, 'Amount': 8092, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 5, 'Sold': 483, 'Amount': 7848.75, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 39, 'Sold': 541, 'Amount': 8656, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 18, 'Sold': 21, 'Amount': 451.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 17, 'Sold': 251, 'Amount': 4267, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 12, 'Sold': 484, 'Amount': 7865, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 25, 'Sold': 467, 'Amount': 7472, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 15, 'Sold': 75, 'Amount': 1612.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 33, 'Sold': 121, 'Amount': 2057, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 20, 'Sold': 456, 'Amount': 7410, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 40, 'Sold': 193, 'Amount': 3088, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 21, 'Sold': 34, 'Amount': 731, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 44, 'Sold': 416, 'Amount': 7072, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 2, 'Sold': 280, 'Amount': 4550, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 12, 'Sold': 363, 'Amount': 5808, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 18, 'Sold': 92, 'Amount': 1978, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 187, 'Amount': 3179, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 44, 'Sold': 226, 'Amount': 3672.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 40, 'Sold': 243, 'Amount': 3888, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 27, 'Sold': 75, 'Amount': 1612.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 26, 'Sold': 117, 'Amount': 1989, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 2, 'Sold': 326, 'Amount': 5297.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 1, 'Sold': 440, 'Amount': 7040, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 14, 'Sold': 93, 'Amount': 1999.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 10, 'Sold': 123, 'Amount': 2091, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 41, 'Sold': 52, 'Amount': 845, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 24, 'Sold': 91, 'Amount': 1456, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 12, 'Sold': 14, 'Amount': 301, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 49, 'Sold': 458, 'Amount': 7786, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 8, 'Sold': 120, 'Amount': 1950, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 13, 'Sold': 295, 'Amount': 4720, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 27, 'Sold': 60, 'Amount': 1290, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 30, 'Sold': 101, 'Amount': 1717, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 36, 'Sold': 380, 'Amount': 6175, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 266, 'Amount': 4256, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 13, 'Sold': 21, 'Amount': 451.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 50, 'Sold': 296, 'Amount': 5032, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 17, 'Sold': 355, 'Amount': 5768.75, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 19, 'Sold': 286, 'Amount': 4576, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 41, 'Sold': 58, 'Amount': 1247, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 28, 'Sold': 343, 'Amount': 5831, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 12, 'Sold': 229, 'Amount': 3721.25, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 46, 'Sold': 146, 'Amount': 2336, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 8, 'Sold': 19, 'Amount': 408.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 8, 'Sold': 395, 'Amount': 6715, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 1, 'Sold': 224, 'Amount': 3640, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 11, 'Sold': 298, 'Amount': 4768, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 15, 'Sold': 100, 'Amount': 2150, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 362, 'Amount': 6154, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 4, 'Sold': 84, 'Amount': 1365, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 13, 'Sold': 244, 'Amount': 3904, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 47, 'Amount': 5217.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 40, 'Sold': 416, 'Amount': 46592, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 23, 'Sold': 459, 'Amount': 51063.75, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 49, 'Sold': 206, 'Amount': 6660, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 35, 'Sold': 58, 'Amount': 6438.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 1, 'Sold': 317, 'Amount': 35504, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 5, 'Sold': 103, 'Amount': 11458.75, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 46, 'Sold': 151, 'Amount': 4440, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 69, 'Amount': 7659.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 11, 'Sold': 326, 'Amount': 36512, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 32, 'Sold': 391, 'Amount': 43498.75, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 104, 'Amount': 5217, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 19, 'Sold': 36, 'Amount': 3996.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 479, 'Amount': 53648, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 37, 'Sold': 77, 'Amount': 8566.25, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 48, 'Sold': 121, 'Amount': 6438, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 19, 'Sold': 33, 'Amount': 3663.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 6, 'Sold': 407, 'Amount': 45584, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 6, 'Sold': 155, 'Amount': 17243.75, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 171, 'Amount': 7659, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 23, 'Sold': 13, 'Amount': 1443.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 18, 'Sold': 62, 'Amount': 6944, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 48, 'Sold': 319, 'Amount': 35488.75, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 40, 'Sold': 141, 'Amount': 3996, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 38, 'Sold': 44, 'Amount': 4884.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 16, 'Sold': 94, 'Amount': 10528, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 31, 'Sold': 304, 'Amount': 33820, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 368, 'Amount': 3663, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 46, 'Sold': 21, 'Amount': 2331.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 30, 'Sold': 120, 'Amount': 13440, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 28, 'Sold': 67, 'Amount': 7453.75, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 22, 'Sold': 371, 'Amount': 1443, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 36, 'Sold': 49, 'Amount': 5439.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 6, 'Sold': 153, 'Amount': 17136, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 127, 'Amount': 14128.75, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 99, 'Amount': 4884, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 44, 'Sold': 14, 'Amount': 1554.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 45, 'Sold': 411, 'Amount': 46032, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 35, 'Sold': 434, 'Amount': 48282.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 35, 'Sold': 251, 'Amount': 2331, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 49, 'Sold': 42, 'Amount': 4662.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 35, 'Sold': 495, 'Amount': 55440, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 22, 'Sold': 77, 'Amount': 8566.25, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 34, 'Sold': 208, 'Amount': 5439, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 43, 'Sold': 22, 'Amount': 2442.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 41, 'Sold': 410, 'Amount': 45920, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 24, 'Sold': 242, 'Amount': 26922.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 46, 'Sold': 323, 'Amount': 1554, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 38, 'Sold': 42, 'Amount': 4662.5, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 35, 'Sold': 483, 'Amount': 54096, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 40, 'Sold': 159, 'Amount': 17688.75, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 12, 'Sold': 533, 'Amount': 4662, 'Country': 'France', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 42, 'Sold': 80, 'Amount': 2460, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 19, 'Sold': 16, 'Amount': 184, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 36, 'Sold': 25, 'Amount': 188, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 6, 'Sold': 51, 'Amount': 229.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 3, 'Sold': 83, 'Amount': 1309.74, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 19, 'Sold': 29, 'Amount': 565.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 84, 'Amount': 125921, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 7, 'Sold': 26, 'Amount': 41483, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 48, 'Sold': 54, 'Amount': 92016, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 22, 'Sold': 76, 'Amount': 456.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 10, 'Sold': 34, 'Amount': 969, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 3, 'Sold': 72, 'Amount': 1548, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 10, 'Sold': 44, 'Amount': 4884.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 30, 'Sold': 76, 'Amount': 2375, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 24, 'Sold': 300, 'Amount': 3600, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 148, 'Amount': 1258, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 32, 'Sold': 392, 'Amount': 1960, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 48, 'Sold': 76, 'Amount': 1237.28, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 32, 'Sold': 141, 'Amount': 2820, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 371, 'Amount': 559839, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 220, 'Amount': 351120, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 26, 'Sold': 317, 'Amount': 541753, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 416, 'Amount': 3328, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 43, 'Sold': 346, 'Amount': 10034, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 172, 'Amount': 2924, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 27, 'Sold': 205, 'Amount': 22960, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 10, 'Sold': 291, 'Amount': 8875.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 32, 'Sold': 374, 'Amount': 4207.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 30, 'Sold': 63, 'Amount': 488.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 23, 'Sold': 314, 'Amount': 1334.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 23, 'Sold': 69, 'Amount': 1071.57, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 32, 'Sold': 487, 'Amount': 9374.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 21, 'Sold': 89, 'Amount': 134034, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 39, 'Sold': 69, 'Amount': 110072.25, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 49, 'Sold': 212, 'Amount': 361672, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 19, 'Sold': 239, 'Amount': 1493.75, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 3, 'Sold': 72, 'Amount': 2034, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 149, 'Amount': 2421.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 50, 'Sold': 180, 'Amount': 20025, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 39, 'Sold': 397, 'Amount': 12009.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 285, 'Amount': 3135, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 481, 'Amount': 3607.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 347, 'Amount': 1388, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 263, 'Amount': 4018.64, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 40, 'Sold': 514, 'Amount': 9766, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 49, 'Sold': 370, 'Amount': 223351, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 251, 'Amount': 400345, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 30, 'Sold': 311, 'Amount': 528389, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 42, 'Sold': 179, 'Amount': 1074, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 48, 'Sold': 452, 'Amount': 12656, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 35, 'Sold': 400, 'Amount': 6400, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 33, 'Sold': 456, 'Amount': 31635, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 5, 'Sold': 60, 'Amount': 1845, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 50, 'Sold': 38, 'Amount': 437, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 35, 'Sold': 78, 'Amount': 585.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 33, 'Sold': 24, 'Amount': 108, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 9, 'Sold': 82, 'Amount': 1293.96, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 3, 'Sold': 16, 'Amount': 312, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 98, 'Amount': 146907, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 29, 'Sold': 61, 'Amount': 97325.5, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 3, 'Sold': 38, 'Amount': 64752, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 8, 'Sold': 59, 'Amount': 354.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 18, 'Sold': 16, 'Amount': 456, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 30, 'Sold': 67, 'Amount': 1440.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 4, 'Sold': 28, 'Amount': 3108.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 20, 'Sold': 468, 'Amount': 14625, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 44, 'Sold': 132, 'Amount': 1584, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 9, 'Sold': 353, 'Amount': 3000.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 32, 'Sold': 269, 'Amount': 1345, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 39, 'Sold': 232, 'Amount': 3776.96, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 21, 'Sold': 252, 'Amount': 5040, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 35, 'Sold': 249, 'Amount': 375741, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 23, 'Sold': 298, 'Amount': 475608, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 216, 'Amount': 369144, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 50, 'Amount': 400, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 433, 'Amount': 12557, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 35, 'Sold': 53, 'Amount': 901, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 46, 'Sold': 320, 'Amount': 35840, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 479, 'Amount': 14609.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 32, 'Sold': 286, 'Amount': 3217.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 33, 'Sold': 398, 'Amount': 3084.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 30, 'Sold': 328, 'Amount': 1394, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 50, 'Sold': 379, 'Amount': 5885.87, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 20, 'Sold': 460, 'Amount': 8855, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 148, 'Amount': 222888, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 62, 'Amount': 98905.5, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 36, 'Sold': 87, 'Amount': 148422, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 48, 'Sold': 400, 'Amount': 2500, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 6, 'Sold': 277, 'Amount': 7825.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 137, 'Amount': 2226.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 12, 'Sold': 221, 'Amount': 24586.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 22, 'Sold': 302, 'Amount': 9135.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 39, 'Sold': 77, 'Amount': 847, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 7, 'Sold': 131, 'Amount': 982.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 21, 'Sold': 425, 'Amount': 1700, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 99, 'Amount': 1512.72, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 73, 'Amount': 1387, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 19, 'Sold': 279, 'Amount': 205363, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 12, 'Sold': 337, 'Amount': 537515, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 43, 'Sold': 399, 'Amount': 677901, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 381, 'Amount': 2286, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 460, 'Amount': 12880, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 17, 'Sold': 119, 'Amount': 1904, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 20, 'Sold': 234, 'Amount': 8547, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 50, 'Sold': 87, 'Amount': 2675.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 5, 'Sold': 85, 'Amount': 977.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 24, 'Sold': 83, 'Amount': 623, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 3, 'Sold': 24, 'Amount': 108, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 7, 'Sold': 27, 'Amount': 426.06, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 46, 'Sold': 52, 'Amount': 1014, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 60, 'Amount': 89945, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 32, 'Amount': 51056, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 12, 'Amount': 20448, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 52, 'Amount': 312.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 15, 'Sold': 96, 'Amount': 2736, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 74, 'Amount': 1591, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 5, 'Sold': 61, 'Amount': 6771.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 44, 'Sold': 487, 'Amount': 15218.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 307, 'Amount': 3684, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 5, 'Sold': 202, 'Amount': 1717, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 29, 'Sold': 212, 'Amount': 1060, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 264, 'Amount': 4297.92, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 35, 'Sold': 451, 'Amount': 9020, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 48, 'Sold': 293, 'Amount': 442137, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 38, 'Sold': 422, 'Amount': 673512, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 50, 'Sold': 205, 'Amount': 350345, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 38, 'Sold': 122, 'Amount': 976, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 39, 'Sold': 121, 'Amount': 3509, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 103, 'Amount': 1751, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 332, 'Amount': 37184, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 1, 'Sold': 464, 'Amount': 14152, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 82, 'Amount': 922.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 15, 'Sold': 188, 'Amount': 1457, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 26, 'Sold': 182, 'Amount': 773.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 398, 'Amount': 6180.94, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 23, 'Sold': 173, 'Amount': 3330.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 118, 'Amount': 177708, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 122, 'Amount': 194620.5, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 49, 'Sold': 458, 'Amount': 781348, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 5, 'Sold': 139, 'Amount': 868.75, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 415, 'Amount': 11723.75, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 297, 'Amount': 4826.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 29, 'Sold': 298, 'Amount': 33152.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 43, 'Sold': 183, 'Amount': 5535.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 174, 'Amount': 1914, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 48, 'Sold': 217, 'Amount': 1627.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 32, 'Sold': 175, 'Amount': 700, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 19, 'Sold': 496, 'Amount': 7578.88, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 236, 'Amount': 4484, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 211, 'Amount': 445203, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 4, 'Sold': 351, 'Amount': 559845, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 115, 'Amount': 195385, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 18, 'Sold': 70, 'Amount': 420, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 50, 'Sold': 539, 'Amount': 15092, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 5, 'Sold': 262, 'Amount': 4192, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 19, 'Sold': 472, 'Amount': 19314, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 39, 'Sold': 59, 'Amount': 443, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 29, 'Sold': 371, 'Amount': 3153.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 20, 'Sold': 277, 'Amount': 2146.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 22, 'Sold': 503, 'Amount': 3772.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 27, 'Amount': 203, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 29, 'Sold': 455, 'Amount': 3867.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 38, 'Sold': 195, 'Amount': 1511.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 42, 'Sold': 216, 'Amount': 1620, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 35, 'Sold': 17, 'Amount': 128, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 21, 'Sold': 201, 'Amount': 1708.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 13, 'Sold': 73, 'Amount': 565.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 22, 'Sold': 183, 'Amount': 1372.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 6, 'Sold': 23, 'Amount': 173, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 26, 'Sold': 143, 'Amount': 1215.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 31, 'Sold': 380, 'Amount': 2945, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 2, 'Sold': 289, 'Amount': 2167.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 18, 'Sold': 88, 'Amount': 660.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 16, 'Sold': 365, 'Amount': 3102.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 46, 'Sold': 307, 'Amount': 2379.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 43, 'Sold': 109, 'Amount': 817.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 47, 'Sold': 83, 'Amount': 623, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 48, 'Sold': 70, 'Amount': 595, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 44, 'Sold': 471, 'Amount': 3650.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 31, 'Sold': 493, 'Amount': 3697.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 6, 'Sold': 66, 'Amount': 495.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 54, 'Amount': 459, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 29, 'Sold': 493, 'Amount': 3820.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 8, 'Sold': 519, 'Amount': 3892.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 1, 'Sold': 90, 'Amount': 675.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 23, 'Sold': 121, 'Amount': 1028.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 175, 'Amount': 1356.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 26, 'Sold': 116, 'Amount': 870, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 10, 'Sold': 55, 'Amount': 413, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 5, 'Sold': 369, 'Amount': 3136.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 18, 'Sold': 500, 'Amount': 3875, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 45, 'Sold': 85, 'Amount': 637.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 32, 'Sold': 67, 'Amount': 503, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 46, 'Sold': 66, 'Amount': 561, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 444, 'Amount': 3441, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 23, 'Sold': 429, 'Amount': 3217.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 18, 'Sold': 58, 'Amount': 261, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 4, 'Sold': 134, 'Amount': 670, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 20, 'Sold': 312, 'Amount': 1326, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 30, 'Sold': 428, 'Amount': 1712, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 46, 'Sold': 12, 'Amount': 54, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 10, 'Sold': 372, 'Amount': 1860, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 33, 'Sold': 265, 'Amount': 1126.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 41, 'Sold': 343, 'Amount': 1372, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 25, 'Sold': 59, 'Amount': 265.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 11, 'Sold': 474, 'Amount': 2370, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 3, 'Sold': 400, 'Amount': 1700, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 13, 'Sold': 394, 'Amount': 1576, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 15, 'Sold': 80, 'Amount': 360, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 26, 'Sold': 152, 'Amount': 760, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 185, 'Amount': 786.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 38, 'Sold': 105, 'Amount': 420, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 28, 'Sold': 80, 'Amount': 360, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 33, 'Sold': 171, 'Amount': 855, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 48, 'Sold': 326, 'Amount': 1385.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 42, 'Sold': 429, 'Amount': 1716, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 22, 'Sold': 96, 'Amount': 432, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 35, 'Sold': 78, 'Amount': 390, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 40, 'Sold': 211, 'Amount': 896.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 41, 'Sold': 530, 'Amount': 2120, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 39, 'Sold': 21, 'Amount': 94.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 4, 'Sold': 334, 'Amount': 1670, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 6, 'Sold': 229, 'Amount': 973.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 34, 'Sold': 228, 'Amount': 912, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 50, 'Sold': 13, 'Amount': 58.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 43, 'Sold': 225, 'Amount': 1125, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 24, 'Sold': 246, 'Amount': 1045.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 31, 'Sold': 292, 'Amount': 1168, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 11, 'Sold': 62, 'Amount': 279, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 141, 'Amount': 705, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 9, 'Sold': 389, 'Amount': 1653.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 25, 'Sold': 438, 'Amount': 1752, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 33, 'Sold': 37, 'Amount': 166.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 45, 'Sold': 431, 'Amount': 2155, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 3, 'Sold': 116, 'Amount': 493, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 3, 'Sold': 512, 'Amount': 2048, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 42, 'Sold': 74, 'Amount': 851, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 10, 'Sold': 338, 'Amount': 4056, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 492, 'Amount': 5535, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 18, 'Sold': 332, 'Amount': 3652, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 50, 'Sold': 68, 'Amount': 782, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 43, 'Sold': 96, 'Amount': 1152, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 40, 'Sold': 302, 'Amount': 3397.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 22, 'Sold': 93, 'Amount': 1023, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 17, 'Sold': 98, 'Amount': 1127, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 49, 'Sold': 295, 'Amount': 3540, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 29, 'Sold': 94, 'Amount': 1057.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 23, 'Sold': 201, 'Amount': 2211, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 19, 'Sold': 97, 'Amount': 1115.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 39, 'Sold': 117, 'Amount': 1404, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 26, 'Sold': 145, 'Amount': 1631.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 29, 'Sold': 525, 'Amount': 5775, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 44, 'Sold': 34, 'Amount': 391, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 49, 'Sold': 248, 'Amount': 2976, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 47, 'Sold': 72, 'Amount': 810, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 32, 'Sold': 452, 'Amount': 4972, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 82, 'Amount': 943, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 7, 'Sold': 297, 'Amount': 3564, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 140, 'Amount': 1575, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 43, 'Sold': 447, 'Amount': 4917, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 4, 'Sold': 56, 'Amount': 644, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 30, 'Sold': 218, 'Amount': 2616, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 9, 'Sold': 304, 'Amount': 3420, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 10, 'Sold': 132, 'Amount': 1452, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 47, 'Sold': 29, 'Amount': 333.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 15, 'Sold': 236, 'Amount': 2832, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 35, 'Sold': 102, 'Amount': 1147.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 22, 'Sold': 357, 'Amount': 3927, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 48, 'Sold': 20, 'Amount': 230, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 27, 'Sold': 299, 'Amount': 3588, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 36, 'Sold': 372, 'Amount': 4185, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 190, 'Amount': 2090, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 11, 'Sold': 93, 'Amount': 1069.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 23, 'Sold': 394, 'Amount': 4728, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 27, 'Sold': 452, 'Amount': 5085, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 34, 'Sold': 347, 'Amount': 3817, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 15, 'Sold': 50, 'Amount': 789, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 46, 'Sold': 140, 'Amount': 2279.2, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 49, 'Sold': 338, 'Amount': 5249.14, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 205, 'Amount': 3132.4, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 43, 'Sold': 77, 'Amount': 1215.06, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 9, 'Sold': 377, 'Amount': 6137.56, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 49, 'Sold': 442, 'Amount': 6864.26, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 10, 'Sold': 246, 'Amount': 3758.88, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 15, 'Sold': 59, 'Amount': 931.02, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 27, 'Sold': 430, 'Amount': 7000.4, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 20, 'Sold': 420, 'Amount': 6522.6, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 16, 'Sold': 232, 'Amount': 3544.96, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 8, 'Sold': 17, 'Amount': 268.26, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 3, 'Sold': 323, 'Amount': 5258.44, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 10, 'Sold': 329, 'Amount': 5109.37, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 32, 'Sold': 528, 'Amount': 8067.84, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 25, 'Sold': 61, 'Amount': 962.58, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 28, 'Sold': 413, 'Amount': 6723.64, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 23, 'Sold': 494, 'Amount': 7671.82, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 456, 'Amount': 6967.68, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 5, 'Sold': 39, 'Amount': 615.42, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 48, 'Sold': 255, 'Amount': 4151.4, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 9, 'Sold': 349, 'Amount': 5419.97, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 4, 'Sold': 175, 'Amount': 2674, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 36, 'Sold': 56, 'Amount': 883.68, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 43, 'Sold': 188, 'Amount': 3060.64, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 29, 'Sold': 179, 'Amount': 2779.87, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 47, 'Sold': 247, 'Amount': 3774.16, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 2, 'Sold': 81, 'Amount': 1278.18, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 38, 'Sold': 126, 'Amount': 2051.28, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 8, 'Sold': 500, 'Amount': 7765, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 29, 'Sold': 495, 'Amount': 7563.6, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 45, 'Sold': 67, 'Amount': 1057.26, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 41, 'Sold': 116, 'Amount': 1888.48, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 48, 'Sold': 127, 'Amount': 1972.31, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 4, 'Sold': 416, 'Amount': 6356.48, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 28, 'Sold': 85, 'Amount': 1341.3, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 3, 'Sold': 301, 'Amount': 4900.28, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 33, 'Sold': 360, 'Amount': 5590.8, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 30, 'Sold': 298, 'Amount': 4553.44, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 32, 'Sold': 77, 'Amount': 2367.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 44, 'Sold': 89, 'Amount': 2781.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 21, 'Sold': 179, 'Amount': 5459.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 43, 'Sold': 344, 'Amount': 10406, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 21, 'Sold': 94, 'Amount': 2890.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 2, 'Sold': 481, 'Amount': 15031.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 6, 'Sold': 57, 'Amount': 1738.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 32, 'Sold': 463, 'Amount': 14005.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 36, 'Sold': 17, 'Amount': 522.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 42, 'Sold': 404, 'Amount': 12625, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 42, 'Sold': 402, 'Amount': 12261, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 23, 'Sold': 531, 'Amount': 16062.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 13, 'Sold': 74, 'Amount': 2275.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 45, 'Sold': 210, 'Amount': 6562.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 29, 'Sold': 450, 'Amount': 13725, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 16, 'Sold': 432, 'Amount': 13068, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 10, 'Sold': 29, 'Amount': 891.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 48, 'Sold': 224, 'Amount': 7000, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 8, 'Sold': 63, 'Amount': 1921.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 10, 'Sold': 258, 'Amount': 7804.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 2, 'Sold': 22, 'Amount': 676.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 7, 'Sold': 61, 'Amount': 1906.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 14, 'Sold': 227, 'Amount': 6923.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 39, 'Sold': 263, 'Amount': 7955.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 47, 'Amount': 1445.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 36, 'Sold': 341, 'Amount': 10656.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 10, 'Sold': 144, 'Amount': 4392, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 40, 'Sold': 374, 'Amount': 11313.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 42, 'Sold': 73, 'Amount': 2244.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 37, 'Sold': 496, 'Amount': 15500, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 21, 'Sold': 416, 'Amount': 12688, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 39, 'Sold': 415, 'Amount': 12553.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 48, 'Amount': 1476, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 500, 'Amount': 15625, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 34, 'Sold': 364, 'Amount': 11102, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 34, 'Sold': 310, 'Amount': 9377.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 37, 'Amount': 1137.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 41, 'Sold': 426, 'Amount': 13312.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 44, 'Sold': 258, 'Amount': 7869, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 29, 'Sold': 344, 'Amount': 10406, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 25, 'Sold': 86, 'Amount': 1677, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 26, 'Sold': 318, 'Amount': 6360, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 97, 'Amount': 1867.25, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 1, 'Sold': 264, 'Amount': 5016, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 12, 'Amount': 234, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 50, 'Sold': 479, 'Amount': 9580, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 44, 'Sold': 478, 'Amount': 9201.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 33, 'Sold': 382, 'Amount': 7258, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 29, 'Amount': 565.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 43, 'Sold': 85, 'Amount': 1700, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 28, 'Sold': 480, 'Amount': 9240, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 25, 'Sold': 142, 'Amount': 2698, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 13, 'Sold': 98, 'Amount': 1911, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 36, 'Sold': 155, 'Amount': 3100, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 21, 'Sold': 432, 'Amount': 8316, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 45, 'Sold': 482, 'Amount': 9158, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 14, 'Amount': 273, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 37, 'Sold': 442, 'Amount': 8840, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 4, 'Sold': 95, 'Amount': 1828.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 21, 'Sold': 191, 'Amount': 3629, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 46, 'Sold': 51, 'Amount': 994.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 1, 'Sold': 403, 'Amount': 8060, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 26, 'Sold': 152, 'Amount': 2926, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 1, 'Sold': 399, 'Amount': 7581, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 45, 'Sold': 14, 'Amount': 273, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 39, 'Sold': 183, 'Amount': 3660, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 45, 'Sold': 124, 'Amount': 2387, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 44, 'Sold': 125, 'Amount': 2375, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 39, 'Sold': 77, 'Amount': 1501.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 6, 'Sold': 313, 'Amount': 6260, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 19, 'Sold': 115, 'Amount': 2213.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 2, 'Sold': 254, 'Amount': 4826, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 46, 'Sold': 100, 'Amount': 1950, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 22, 'Sold': 387, 'Amount': 7740, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 22, 'Sold': 455, 'Amount': 8758.75, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 19, 'Sold': 377, 'Amount': 7163, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 37, 'Sold': 21, 'Amount': 409.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 33, 'Sold': 292, 'Amount': 5840, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 23, 'Sold': 142, 'Amount': 2733.5, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 16, 'Sold': 326, 'Amount': 6194, 'Country': 'Germany', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 22, 'Sold': 60, 'Amount': 102240, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 30, 'Sold': 127, 'Amount': 217043, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 24, 'Sold': 419, 'Amount': 714814, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 264, 'Amount': 448536, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 10, 'Sold': 28, 'Amount': 47712, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 44, 'Sold': 179, 'Amount': 305911, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 19, 'Sold': 407, 'Amount': 694342, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 298, 'Amount': 506302, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 27, 'Sold': 86, 'Amount': 146544, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 41, 'Sold': 318, 'Amount': 543462, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 40, 'Sold': 134, 'Amount': 228604, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 6, 'Sold': 322, 'Amount': 547078, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 11, 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 39, 'Sold': 177, 'Amount': 302493, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 10, 'Sold': 216, 'Amount': 368496, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 45, 'Sold': 172, 'Amount': 292228, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 50, 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 48, 'Sold': 471, 'Amount': 804939, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 35, 'Sold': 468, 'Amount': 798408, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 6, 'Sold': 516, 'Amount': 876684, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 33, 'Sold': 70, 'Amount': 119280, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 9, 'Sold': 383, 'Amount': 654547, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 9, 'Sold': 152, 'Amount': 259312, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 35, 'Sold': 381, 'Amount': 647319, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 45, 'Sold': 46, 'Amount': 78384, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 10, 'Sold': 76, 'Amount': 129884, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 190, 'Amount': 324140, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 22, 'Sold': 481, 'Amount': 817219, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 21, 'Sold': 41, 'Amount': 69864, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 41, 'Sold': 361, 'Amount': 616949, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 26, 'Sold': 60, 'Amount': 102360, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 44, 'Sold': 171, 'Amount': 290529, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 27, 'Sold': 23, 'Amount': 39192, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 18, 'Sold': 305, 'Amount': 521245, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 14, 'Sold': 475, 'Amount': 810350, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 44, 'Sold': 519, 'Amount': 881781, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 45, 'Sold': 70, 'Amount': 119280, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 38, 'Sold': 346, 'Amount': 591314, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 21, 'Sold': 252, 'Amount': 429912, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 9, 'Sold': 524, 'Amount': 890276, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 42, 'Sold': 56, 'Amount': 83949, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 24, 'Sold': 165, 'Amount': 248985, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 48, 'Sold': 409, 'Amount': 615954, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 456, 'Amount': 777981, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 4, 'Sold': 36, 'Amount': 53969, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 34, 'Sold': 329, 'Amount': 496461, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 20, 'Sold': 108, 'Amount': 162648, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 5, 'Sold': 434, 'Amount': 683544, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 34, 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 42, 'Sold': 148, 'Amount': 223332, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 46, 'Sold': 54, 'Amount': 81324, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 15, 'Sold': 313, 'Amount': 739007, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 12, 'Sold': 24, 'Amount': 35981, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 36, 'Sold': 304, 'Amount': 458736, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 19, 'Sold': 346, 'Amount': 521076, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 25, 'Sold': 503, 'Amount': 650566, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 36, 'Sold': 63, 'Amount': 94442, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 38, 'Sold': 136, 'Amount': 205224, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 28, 'Sold': 300, 'Amount': 451800, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 5, 'Sold': 504, 'Amount': 753997, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 10, 'Sold': 92, 'Amount': 137913, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 29, 'Sold': 448, 'Amount': 676032, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 22, 'Sold': 367, 'Amount': 552702, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 26, 'Sold': 288, 'Amount': 469187, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 34, 'Sold': 28, 'Amount': 41977, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 45, 'Sold': 409, 'Amount': 617181, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 9, 'Sold': 204, 'Amount': 307224, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 7, 'Sold': 475, 'Amount': 755496, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 40, 'Sold': 53, 'Amount': 79452, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 4, 'Sold': 365, 'Amount': 550785, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 37, 'Sold': 100, 'Amount': 150600, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 14, 'Sold': 97, 'Amount': 712025, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 35, 'Sold': 57, 'Amount': 85448, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 42, 'Sold': 267, 'Amount': 402903, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 248, 'Amount': 373488, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 36, 'Sold': 454, 'Amount': 496169, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 37, 'Sold': 42, 'Amount': 62963, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 12, 'Sold': 64, 'Amount': 96576, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 45, 'Sold': 302, 'Amount': 454812, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 12, 'Sold': 133, 'Amount': 145403, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 11, 'Sold': 36, 'Amount': 57438, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 240, 'Amount': 383040, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 44, 'Sold': 314, 'Amount': 500908.5, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 1, 'Sold': 442, 'Amount': 704990, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 18, 'Sold': 14, 'Amount': 22337, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 38, 'Sold': 204, 'Amount': 325584, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 26, 'Sold': 179, 'Amount': 285549.75, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 33, 'Sold': 179, 'Amount': 285505, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 41, 'Sold': 76, 'Amount': 121258, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 20, 'Sold': 269, 'Amount': 429324, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 44, 'Sold': 340, 'Amount': 542385, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 47, 'Sold': 435, 'Amount': 693825, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 24, 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 26, 'Sold': 98, 'Amount': 156408, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 1, 'Sold': 355, 'Amount': 566313.75, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 23, 'Sold': 439, 'Amount': 700205, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 23, 'Sold': 42, 'Amount': 67011, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 32, 'Sold': 228, 'Amount': 363888, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 20, 'Sold': 123, 'Amount': 196215.75, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 35, 'Sold': 75, 'Amount': 119625, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 39, 'Sold': 11, 'Amount': 17550.5, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 48, 'Sold': 154, 'Amount': 245784, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 3, 'Sold': 145, 'Amount': 231311.25, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 22, 'Sold': 461, 'Amount': 735295, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 30, 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 48, 'Sold': 285, 'Amount': 454860, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 26, 'Sold': 493, 'Amount': 786458.25, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 42, 'Sold': 444, 'Amount': 708180, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 13, 'Sold': 10, 'Amount': 15955, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 46, 'Sold': 376, 'Amount': 600096, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 45, 'Sold': 278, 'Amount': 443479.5, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 40, 'Sold': 245, 'Amount': 390775, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 40, 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 34, 'Sold': 301, 'Amount': 480396, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 2, 'Sold': 61, 'Amount': 97310.25, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 294, 'Amount': 468930, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 30, 'Sold': 69, 'Amount': 110089.5, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 9, 'Sold': 216, 'Amount': 344736, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 33, 'Sold': 326, 'Amount': 520051.5, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 368, 'Amount': 586960, 'Country': 'Germany', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 42, 'Sold': 42, 'Amount': 252.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 298, 'Amount': 2384, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 12, 'Sold': 203, 'Amount': 1268.75, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 358, 'Amount': 2148, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 24, 'Sold': 89, 'Amount': 534.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 12, 'Sold': 110, 'Amount': 880, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 32, 'Sold': 467, 'Amount': 2918.75, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 259, 'Amount': 1554, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 49, 'Sold': 21, 'Amount': 126.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 3, 'Sold': 368, 'Amount': 2944, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 38, 'Sold': 56, 'Amount': 350, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 13, 'Sold': 400, 'Amount': 2400, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 26, 'Sold': 82, 'Amount': 492.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 10, 'Sold': 347, 'Amount': 2776, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 278, 'Amount': 1737.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 1, 'Sold': 196, 'Amount': 1176, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 25, 'Sold': 15, 'Amount': 90.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 10, 'Sold': 460, 'Amount': 3680, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 35, 'Sold': 92, 'Amount': 575, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 33, 'Sold': 261, 'Amount': 1566, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 15, 'Sold': 25, 'Amount': 150.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 22, 'Sold': 465, 'Amount': 3720, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 1, 'Sold': 166, 'Amount': 1037.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 41, 'Sold': 340, 'Amount': 2040, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 43, 'Sold': 53, 'Amount': 318.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 19, 'Sold': 365, 'Amount': 2920, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 37, 'Sold': 192, 'Amount': 1200, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 37, 'Sold': 125, 'Amount': 750, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 11, 'Sold': 43, 'Amount': 258.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 50, 'Sold': 196, 'Amount': 1568, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 19, 'Sold': 221, 'Amount': 1381.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 13, 'Sold': 177, 'Amount': 1062, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 42, 'Sold': 11, 'Amount': 66.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 20, 'Sold': 324, 'Amount': 2592, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 18, 'Sold': 269, 'Amount': 1681.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 46, 'Sold': 88, 'Amount': 528, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 22, 'Sold': 93, 'Amount': 558.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 1, 'Sold': 275, 'Amount': 2200, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 20, 'Sold': 84, 'Amount': 525, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 361, 'Amount': 2166, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 37, 'Sold': 10, 'Amount': 285, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 13, 'Sold': 255, 'Amount': 7395, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 87, 'Amount': 2457.75, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 118, 'Amount': 3304, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 59, 'Amount': 1681.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 5, 'Sold': 433, 'Amount': 12557, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 1, 'Sold': 93, 'Amount': 2627.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 23, 'Sold': 182, 'Amount': 5096, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 8, 'Sold': 75, 'Amount': 2137.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 36, 'Sold': 477, 'Amount': 13833, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 44, 'Sold': 449, 'Amount': 12684.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 45, 'Sold': 125, 'Amount': 3500, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 50, 'Sold': 87, 'Amount': 2479.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 23, 'Sold': 376, 'Amount': 10904, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 12, 'Sold': 382, 'Amount': 10791.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 4, 'Sold': 110, 'Amount': 3080, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 10, 'Sold': 25, 'Amount': 712.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 8, 'Sold': 50, 'Amount': 1450, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 30, 'Sold': 277, 'Amount': 7825.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 30, 'Sold': 143, 'Amount': 4004, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 21, 'Sold': 54, 'Amount': 1539, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 30, 'Sold': 325, 'Amount': 9425, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 18, 'Sold': 379, 'Amount': 10706.75, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 21, 'Sold': 222, 'Amount': 6216, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 24, 'Sold': 33, 'Amount': 940.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 32, 'Sold': 114, 'Amount': 3306, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 35, 'Sold': 438, 'Amount': 12373.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 20, 'Sold': 460, 'Amount': 12880, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 42, 'Sold': 22, 'Amount': 627, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 34, 'Sold': 137, 'Amount': 3973, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 13, 'Sold': 268, 'Amount': 7571, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 12, 'Sold': 203, 'Amount': 5684, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 27, 'Amount': 769.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 49, 'Sold': 176, 'Amount': 5104, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 21, 'Sold': 233, 'Amount': 6582.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 45, 'Sold': 474, 'Amount': 13272, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 9, 'Sold': 48, 'Amount': 1368, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 32, 'Sold': 358, 'Amount': 10382, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 39, 'Sold': 364, 'Amount': 10283, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 37, 'Sold': 312, 'Amount': 8736, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 36, 'Sold': 82, 'Amount': 1763, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 35, 'Sold': 251, 'Amount': 4267, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 32, 'Sold': 130, 'Amount': 2112.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 15, 'Sold': 248, 'Amount': 3968, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 74, 'Amount': 1591, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 13, 'Sold': 64, 'Amount': 1088, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 12, 'Sold': 53, 'Amount': 861.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 43, 'Sold': 81, 'Amount': 1296, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 45, 'Sold': 20, 'Amount': 430, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 16, 'Sold': 62, 'Amount': 1054, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 15, 'Sold': 437, 'Amount': 7101.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 47, 'Sold': 410, 'Amount': 6560, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 46, 'Sold': 79, 'Amount': 1698.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 45, 'Sold': 362, 'Amount': 6154, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 20, 'Sold': 51, 'Amount': 828.75, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 41, 'Sold': 527, 'Amount': 8432, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 25, 'Sold': 50, 'Amount': 1075, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 26, 'Sold': 121, 'Amount': 2057, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 1, 'Sold': 308, 'Amount': 5005, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 25, 'Sold': 225, 'Amount': 3600, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 49, 'Sold': 79, 'Amount': 1698.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 8, 'Sold': 119, 'Amount': 2023, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 5, 'Sold': 207, 'Amount': 3363.75, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 27, 'Sold': 321, 'Amount': 5136, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 16, 'Amount': 344, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 8, 'Sold': 414, 'Amount': 7038, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 48, 'Sold': 237, 'Amount': 3851.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 26, 'Sold': 457, 'Amount': 7312, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 35, 'Sold': 40, 'Amount': 860, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 18, 'Sold': 75, 'Amount': 1275, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 33, 'Sold': 423, 'Amount': 6873.75, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 73, 'Amount': 1168, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 15, 'Sold': 17, 'Amount': 365.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 25, 'Sold': 226, 'Amount': 3842, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 47, 'Sold': 114, 'Amount': 1852.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 47, 'Sold': 487, 'Amount': 7792, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 24, 'Sold': 73, 'Amount': 1569.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 9, 'Sold': 397, 'Amount': 6749, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 1, 'Sold': 261, 'Amount': 4241.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 16, 'Sold': 288, 'Amount': 4608, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 22, 'Sold': 17, 'Amount': 1887.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 40, 'Sold': 439, 'Amount': 49168, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 43, 'Sold': 247, 'Amount': 27478.75, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 7, 'Sold': 81, 'Amount': 1887, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 5, 'Sold': 26, 'Amount': 2886.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 10, 'Sold': 453, 'Amount': 50736, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 18, 'Sold': 177, 'Amount': 19691.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 17, 'Sold': 294, 'Amount': 1887, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 49, 'Sold': 28, 'Amount': 3108.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 43, 'Sold': 53, 'Amount': 5936, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 26, 'Sold': 468, 'Amount': 52065, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 48, 'Sold': 407, 'Amount': 2886, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 37, 'Sold': 81, 'Amount': 8991.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 2, 'Sold': 414, 'Amount': 46368, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 235, 'Amount': 26143.75, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 42, 'Sold': 144, 'Amount': 2886, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 99, 'Amount': 10989.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 37, 'Sold': 489, 'Amount': 54768, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 48, 'Sold': 225, 'Amount': 25031.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 47, 'Sold': 363, 'Amount': 8991, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 32, 'Sold': 19, 'Amount': 2109.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 36, 'Sold': 142, 'Amount': 15904, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 15, 'Sold': 166, 'Amount': 18467.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 48, 'Sold': 81, 'Amount': 1221, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 9, 'Sold': 24, 'Amount': 2664.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 46, 'Sold': 385, 'Amount': 43120, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 15, 'Sold': 277, 'Amount': 30816.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 43, 'Sold': 223, 'Amount': 10989, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 33, 'Sold': 10, 'Amount': 1110.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 3, 'Sold': 91, 'Amount': 10192, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 32, 'Sold': 278, 'Amount': 30927.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 41, 'Sold': 364, 'Amount': 2664, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 24, 'Sold': 28, 'Amount': 3108.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 28, 'Sold': 315, 'Amount': 35280, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 38, 'Sold': 298, 'Amount': 33152.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 30, 'Sold': 514, 'Amount': 9879, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 3, 'Sold': 55, 'Amount': 6105.5, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 41, 'Sold': 90, 'Amount': 10080, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 281, 'Amount': 31261.25, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 47, 'Sold': 337, 'Amount': 1110, 'Country': 'Germany', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 38, 'Sold': 15, 'Amount': 1665.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 39, 'Sold': 332, 'Amount': 37184, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 17, 'Sold': 121, 'Amount': 13461.25, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 45, 'Sold': 531, 'Amount': 5883, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 39, 'Sold': 24, 'Amount': 2664.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 33, 'Sold': 67, 'Amount': 7504, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 26, 'Sold': 163, 'Amount': 18133.75, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 17, 'Sold': 77, 'Amount': 9768, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 50, 'Sold': 73, 'Amount': 8103.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 49, 'Sold': 169, 'Amount': 18928, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 20, 'Sold': 450, 'Amount': 50062.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 26, 'Sold': 355, 'Amount': 1665, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 39, 'Sold': 13, 'Amount': 1443.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 421, 'Amount': 47152, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 28, 'Sold': 400, 'Amount': 44500, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 38, 'Sold': 80, 'Amount': 2664, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 48, 'Sold': 47, 'Amount': 5217.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 355, 'Amount': 39760, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 35, 'Sold': 152, 'Amount': 16910, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 21, 'Sold': 175, 'Amount': 8103, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 1, 'Sold': 64, 'Amount': 7104.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 19, 'Sold': 56, 'Amount': 6272, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 25, 'Sold': 146, 'Amount': 16242.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 20, 'Sold': 329, 'Amount': 1443, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 37, 'Sold': 18, 'Amount': 1998.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 40, 'Sold': 257, 'Amount': 28784, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 34, 'Sold': 476, 'Amount': 52955, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 14, 'Sold': 167, 'Amount': 5217, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 23, 'Sold': 64, 'Amount': 7104.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 36, 'Sold': 444, 'Amount': 49728, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 35, 'Sold': 272, 'Amount': 30260, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 31, 'Sold': 519, 'Amount': 7104, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 42, 'Sold': 43, 'Amount': 4773.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 1, 'Sold': 317, 'Amount': 35504, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 27, 'Sold': 485, 'Amount': 53956.25, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 10, 'Sold': 142, 'Amount': 1998, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 21, 'Sold': 81, 'Amount': 8991.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 22, 'Sold': 335, 'Amount': 37520, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 277, 'Amount': 30816.25, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 411, 'Amount': 7104, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 11, 'Sold': 100, 'Amount': 11100.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 324, 'Amount': 36288, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 36, 'Sold': 265, 'Amount': 29481.25, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 24, 'Sold': 281, 'Amount': 4773, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 49, 'Sold': 78, 'Amount': 8658.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 11, 'Sold': 295, 'Amount': 33040, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 49, 'Sold': 288, 'Amount': 32040, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 31, 'Sold': 83, 'Amount': 8991, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 23, 'Sold': 58, 'Amount': 6438.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 311, 'Amount': 34832, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 24, 'Sold': 317, 'Amount': 35266.25, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 43, 'Sold': 192, 'Amount': 11100, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 40, 'Sold': 38, 'Amount': 817, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 27, 'Sold': 488, 'Amount': 8296, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 44, 'Sold': 199, 'Amount': 3233.75, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 44, 'Sold': 404, 'Amount': 6464, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 60, 'Amount': 1290, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 4, 'Sold': 394, 'Amount': 6698, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 49, 'Sold': 249, 'Amount': 4046.25, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 22, 'Sold': 308, 'Amount': 4928, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 78, 'Amount': 1677, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 46, 'Sold': 393, 'Amount': 6681, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 19, 'Sold': 373, 'Amount': 6061.25, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 8, 'Sold': 120, 'Amount': 1920, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 20, 'Sold': 92, 'Amount': 1978, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 3, 'Sold': 229, 'Amount': 3893, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 460, 'Amount': 7475, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 26, 'Sold': 299, 'Amount': 4784, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 46, 'Sold': 12, 'Amount': 258, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 7, 'Sold': 199, 'Amount': 3383, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 35, 'Sold': 61, 'Amount': 991.25, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 271, 'Amount': 4336, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 23, 'Sold': 55, 'Amount': 1182.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 37, 'Sold': 270, 'Amount': 4590, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 36, 'Sold': 62, 'Amount': 1007.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 24, 'Sold': 529, 'Amount': 8464, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 24, 'Sold': 23, 'Amount': 494.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 18, 'Sold': 487, 'Amount': 8279, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 37, 'Sold': 385, 'Amount': 6256.25, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 20, 'Sold': 191, 'Amount': 3056, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 7, 'Sold': 51, 'Amount': 1096.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 1, 'Sold': 286, 'Amount': 4862, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 45, 'Sold': 350, 'Amount': 5687.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 43, 'Sold': 453, 'Amount': 7248, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 73, 'Amount': 1569.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 251, 'Amount': 4267, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 33, 'Sold': 405, 'Amount': 6581.25, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 15, 'Sold': 152, 'Amount': 2432, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 100, 'Amount': 2150, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 26, 'Sold': 236, 'Amount': 4012, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 238, 'Amount': 3867.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 29, 'Sold': 170, 'Amount': 2720, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 52, 'Amount': 1118, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 28, 'Sold': 327, 'Amount': 5559, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 4, 'Sold': 220, 'Amount': 3575, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 44, 'Sold': 211, 'Amount': 3376, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 35, 'Sold': 14, 'Amount': 301, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 27, 'Sold': 300, 'Amount': 5100, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 455, 'Amount': 7393.75, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 49, 'Sold': 167, 'Amount': 2672, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 18, 'Sold': 36, 'Amount': 774, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 29, 'Sold': 378, 'Amount': 6426, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 250, 'Amount': 4062.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 322, 'Amount': 5152, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 59, 'Amount': 1681.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 132, 'Amount': 3828, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 128, 'Amount': 3616, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 138, 'Amount': 3864, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 26, 'Sold': 53, 'Amount': 1510.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 490, 'Amount': 14210, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 13, 'Sold': 93, 'Amount': 2627.25, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 12, 'Sold': 121, 'Amount': 3388, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 20, 'Amount': 570, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 29, 'Sold': 227, 'Amount': 6583, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 49, 'Sold': 414, 'Amount': 11695.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 25, 'Sold': 440, 'Amount': 12320, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 3, 'Sold': 80, 'Amount': 2280, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 39, 'Sold': 221, 'Amount': 6409, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 27, 'Sold': 492, 'Amount': 13899, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 11, 'Sold': 246, 'Amount': 6888, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 28, 'Sold': 37, 'Amount': 1054.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 48, 'Sold': 361, 'Amount': 10469, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 20, 'Sold': 464, 'Amount': 13108, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 20, 'Sold': 387, 'Amount': 10836, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 12, 'Sold': 34, 'Amount': 969, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 152, 'Amount': 4408, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 3, 'Sold': 222, 'Amount': 6271.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 46, 'Sold': 76, 'Amount': 2128, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 11, 'Sold': 76, 'Amount': 2166, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 22, 'Sold': 431, 'Amount': 12499, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 7, 'Sold': 156, 'Amount': 4407, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 22, 'Sold': 345, 'Amount': 9660, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 23, 'Sold': 51, 'Amount': 1453.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 29, 'Sold': 477, 'Amount': 13833, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 22, 'Sold': 485, 'Amount': 13701.25, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 47, 'Sold': 453, 'Amount': 12684, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 20, 'Sold': 80, 'Amount': 2280, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 45, 'Sold': 366, 'Amount': 10614, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 18, 'Sold': 179, 'Amount': 5056.75, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 10, 'Sold': 96, 'Amount': 2688, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 46, 'Sold': 51, 'Amount': 1453.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 451, 'Amount': 13079, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 18, 'Sold': 458, 'Amount': 12938.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 21, 'Sold': 214, 'Amount': 5992, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 68, 'Amount': 1938, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 7, 'Sold': 442, 'Amount': 12818, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 5, 'Sold': 166, 'Amount': 4689.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 8, 'Sold': 79, 'Amount': 2212, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 49, 'Sold': 27, 'Amount': 769.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 44, 'Sold': 156, 'Amount': 4524, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 22, 'Sold': 447, 'Amount': 12627.75, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 23, 'Sold': 226, 'Amount': 6328, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 23, 'Sold': 61, 'Amount': 1738.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 158, 'Amount': 4582, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 33, 'Sold': 60, 'Amount': 1695, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 36, 'Sold': 166, 'Amount': 4648, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 4, 'Sold': 74, 'Amount': 444.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 4, 'Sold': 296, 'Amount': 2368, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 19, 'Sold': 500, 'Amount': 3125, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 19, 'Sold': 321, 'Amount': 1926, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 10, 'Sold': 58, 'Amount': 348.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 27, 'Sold': 312, 'Amount': 2496, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 12, 'Sold': 236, 'Amount': 1475, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 47, 'Sold': 542, 'Amount': 3252, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 13, 'Sold': 79, 'Amount': 474.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 38, 'Sold': 165, 'Amount': 1320, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 4, 'Sold': 117, 'Amount': 731.25, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 50, 'Sold': 195, 'Amount': 1170, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 15, 'Sold': 55, 'Amount': 330.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 44, 'Sold': 79, 'Amount': 632, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 11, 'Sold': 171, 'Amount': 1068.75, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 29, 'Sold': 237, 'Amount': 1422, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 33, 'Sold': 17, 'Amount': 102.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 340, 'Amount': 2720, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 15, 'Sold': 62, 'Amount': 387.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 3, 'Sold': 226, 'Amount': 1356, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 38, 'Sold': 85, 'Amount': 510.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 6, 'Sold': 100, 'Amount': 800, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 48, 'Sold': 385, 'Amount': 2406.25, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 23, 'Sold': 287, 'Amount': 1722, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 21, 'Sold': 91, 'Amount': 546.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 10, 'Sold': 114, 'Amount': 912, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 24, 'Sold': 494, 'Amount': 3087.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 36, 'Sold': 170, 'Amount': 1020, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 50, 'Sold': 45, 'Amount': 270.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 48, 'Sold': 375, 'Amount': 3000, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 39, 'Sold': 113, 'Amount': 706.25, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 3, 'Sold': 112, 'Amount': 672, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 39, 'Sold': 53, 'Amount': 318.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 21, 'Sold': 336, 'Amount': 2688, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 17, 'Sold': 399, 'Amount': 2493.75, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 281, 'Amount': 1686, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 70, 'Amount': 420.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 19, 'Sold': 445, 'Amount': 3560, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 4, 'Sold': 400, 'Amount': 2500, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 37, 'Sold': 399, 'Amount': 2394, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 47, 'Sold': 78, 'Amount': 468.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 43, 'Sold': 362, 'Amount': 2896, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 2, 'Sold': 228, 'Amount': 1425, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 38, 'Sold': 353, 'Amount': 2118, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 34, 'Sold': 52, 'Amount': 312.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 47, 'Sold': 308, 'Amount': 2464, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 48, 'Sold': 316, 'Amount': 1975, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 11, 'Sold': 465, 'Amount': 2790, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 22, 'Sold': 60, 'Amount': 360.5, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 22, 'Sold': 371, 'Amount': 2968, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 48, 'Sold': 263, 'Amount': 1643.75, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 22, 'Sold': 293, 'Amount': 1758, 'Country': 'United Kingdom', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 48, 'Sold': 81, 'Amount': 138024, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 3, 'Sold': 211, 'Amount': 360599, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 170, 'Amount': 290020, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 244, 'Amount': 414556, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 20, 'Sold': 13, 'Amount': 22152, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 22, 'Sold': 78, 'Amount': 133302, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 29, 'Sold': 219, 'Amount': 373614, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 521, 'Amount': 885179, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 5, 'Sold': 21, 'Amount': 35784, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 28, 'Sold': 162, 'Amount': 276858, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 11, 'Sold': 411, 'Amount': 701166, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 20, 'Sold': 331, 'Amount': 562369, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 27, 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 3, 'Sold': 332, 'Amount': 567388, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 18, 'Sold': 166, 'Amount': 283196, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 28, 'Sold': 77, 'Amount': 130823, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 45, 'Sold': 32, 'Amount': 54528, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 257, 'Amount': 439213, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 38, 'Sold': 54, 'Amount': 92124, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 64, 'Amount': 108736, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 35, 'Sold': 17, 'Amount': 28968, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 47, 'Sold': 147, 'Amount': 251223, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 33, 'Sold': 223, 'Amount': 380438, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 24, 'Sold': 93, 'Amount': 158007, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 49, 'Sold': 55, 'Amount': 93720, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 22, 'Sold': 426, 'Amount': 728034, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 36, 'Sold': 317, 'Amount': 540802, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 16, 'Sold': 212, 'Amount': 360188, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 24, 'Sold': 29, 'Amount': 49416, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 29, 'Sold': 148, 'Amount': 252932, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 33, 'Sold': 63, 'Amount': 107478, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 31, 'Sold': 353, 'Amount': 599747, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 21, 'Sold': 10, 'Amount': 17040, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 42, 'Sold': 354, 'Amount': 604986, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 18, 'Sold': 370, 'Amount': 631220, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 242, 'Amount': 411158, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 23, 'Sold': 61, 'Amount': 103944, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 24, 'Sold': 92, 'Amount': 157228, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 38, 'Sold': 302, 'Amount': 515212, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 43, 'Sold': 501, 'Amount': 851199, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 11, 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 44, 'Sold': 280, 'Amount': 478520, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 47, 'Sold': 303, 'Amount': 516918, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 42, 'Sold': 272, 'Amount': 462128, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 26, 'Sold': 34, 'Amount': 57936, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 33, 'Sold': 377, 'Amount': 644293, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 38, 'Sold': 87, 'Amount': 148422, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 232, 'Amount': 394168, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 50, 'Sold': 13, 'Amount': 22152, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 251, 'Amount': 428959, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 23, 'Sold': 273, 'Amount': 465738, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 10, 'Sold': 510, 'Amount': 866490, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 12, 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 184, 'Amount': 277656, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 39, 'Sold': 486, 'Amount': 731916, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 536, 'Amount': 416722, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 18, 'Sold': 131, 'Amount': 197679, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 4, 'Sold': 451, 'Amount': 679206, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 27, 'Sold': 380, 'Amount': 337275, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 53, 'Amount': 79452, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 22, 'Sold': 190, 'Amount': 286710, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 29, 'Sold': 280, 'Amount': 421680, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 34, 'Sold': 396, 'Amount': 803464, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 50, 'Sold': 49, 'Amount': 73456, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 44, 'Sold': 172, 'Amount': 259548, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 4, 'Sold': 275, 'Amount': 414150, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 4, 'Sold': 154, 'Amount': 569620, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 14, 'Sold': 99, 'Amount': 148406, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 47, 'Sold': 401, 'Amount': 605109, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 26, 'Sold': 387, 'Amount': 582822, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 38, 'Sold': 397, 'Amount': 593604, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 49, 'Sold': 10, 'Amount': 14995, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 48, 'Sold': 143, 'Amount': 215787, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 27, 'Sold': 178, 'Amount': 268068, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 20, 'Sold': 151, 'Amount': 230846, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 24, 'Sold': 98, 'Amount': 146907, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 40, 'Sold': 376, 'Amount': 567384, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 16, 'Sold': 269, 'Amount': 405114, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 25, 'Sold': 302, 'Amount': 595103, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 16, 'Sold': 20, 'Amount': 29985, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 45, 'Sold': 150, 'Amount': 226350, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 26, 'Sold': 239, 'Amount': 359934, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 49, 'Sold': 141, 'Amount': 226349, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 3, 'Sold': 27, 'Amount': 40478, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 169, 'Amount': 255021, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 13, 'Sold': 448, 'Amount': 674688, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 313, 'Amount': 452698, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 87, 'Amount': 130418, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 27, 'Sold': 76, 'Amount': 114684, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 175, 'Amount': 263550, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 6, 'Sold': 515, 'Amount': 211359, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 24, 'Sold': 18, 'Amount': 26987, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 4, 'Sold': 361, 'Amount': 544749, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 9, 'Sold': 237, 'Amount': 356922, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 48, 'Sold': 206, 'Amount': 469187, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 22, 'Sold': 38, 'Amount': 56967, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 43, 'Sold': 139, 'Amount': 209751, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 49, 'Sold': 50, 'Amount': 75300, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 19, 'Sold': 152, 'Amount': 771985, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 37, 'Sold': 46, 'Amount': 68959, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 50, 'Sold': 229, 'Amount': 345561, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 30, 'Sold': 233, 'Amount': 350898, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 1, 'Sold': 241, 'Amount': 308794, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 7, 'Sold': 58, 'Amount': 86947, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 31, 'Sold': 385, 'Amount': 580965, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 7, 'Sold': 328, 'Amount': 493968, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 29, 'Sold': 470, 'Amount': 227848, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 28, 'Sold': 63, 'Amount': 94442, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 6, 'Sold': 288, 'Amount': 434592, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 5, 'Sold': 304, 'Amount': 457824, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 20, 'Sold': 407, 'Amount': 361259, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 36, 'Sold': 91, 'Amount': 136414, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 50, 'Sold': 154, 'Amount': 232386, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 222, 'Amount': 334332, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 27, 'Sold': 488, 'Amount': 704530, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 34, 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 39, 'Sold': 122, 'Amount': 184098, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 300, 'Amount': 451800, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 26, 'Sold': 62, 'Amount': 610093, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 15, 'Sold': 94, 'Amount': 140911, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 7, 'Sold': 65, 'Amount': 98085, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 19, 'Sold': 286, 'Amount': 430716, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 48, 'Sold': 340, 'Amount': 731512, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 39, 'Sold': 53, 'Amount': 79452, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 38, 'Sold': 322, 'Amount': 485898, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 12, 'Sold': 471, 'Amount': 709326, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 9, 'Sold': 340, 'Amount': 92938, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 39, 'Sold': 88, 'Amount': 131917, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 28, 'Sold': 469, 'Amount': 707721, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 2, 'Sold': 260, 'Amount': 391560, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 6, 'Sold': 83, 'Amount': 509660, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 94, 'Amount': 140911, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 41, 'Sold': 206, 'Amount': 310854, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 36, 'Sold': 98, 'Amount': 147588, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 4, 'Sold': 221, 'Amount': 509660, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 49, 'Sold': 13, 'Amount': 19492, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 8, 'Sold': 115, 'Amount': 173535, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 36, 'Sold': 330, 'Amount': 496980, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 5, 'Sold': 432, 'Amount': 124417, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 28, 'Sold': 59, 'Amount': 88446, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 2, 'Sold': 487, 'Amount': 734883, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 24, 'Sold': 373, 'Amount': 561738, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 16, 'Sold': 269, 'Amount': 331279, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 8, 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 1, 'Sold': 413, 'Amount': 623217, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 21, 'Sold': 422, 'Amount': 635532, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 45, 'Sold': 126, 'Amount': 647568, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 29, 'Sold': 92, 'Amount': 137913, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 43, 'Sold': 449, 'Amount': 677541, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 15, 'Sold': 459, 'Amount': 691254, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 18, 'Sold': 142, 'Amount': 403231, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 43, 'Amount': 64462, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 46, 'Sold': 129, 'Amount': 194661, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 401, 'Amount': 603906, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 4, 'Sold': 397, 'Amount': 188874, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Road Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 13, 'Sold': 40, 'Amount': 68160, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 23, 'Sold': 286, 'Amount': 488774, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 36, 'Sold': 429, 'Amount': 731874, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 117, 'Amount': 198783, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 24, 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 8, 'Sold': 408, 'Amount': 697272, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 23, 'Sold': 88, 'Amount': 150128, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 13, 'Sold': 527, 'Amount': 895373, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 8, 'Sold': 11, 'Amount': 18744, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 47, 'Sold': 359, 'Amount': 613531, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 25, 'Sold': 105, 'Amount': 179130, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 36, 'Sold': 377, 'Amount': 640523, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 27, 'Sold': 17, 'Amount': 28968, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 48, 'Sold': 274, 'Amount': 468266, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 8, 'Sold': 314, 'Amount': 535684, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 24, 'Sold': 188, 'Amount': 319412, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 43, 'Sold': 69, 'Amount': 117576, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 142, 'Amount': 242678, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 199, 'Amount': 339494, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 3, 'Sold': 353, 'Amount': 599747, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 54, 'Amount': 92016, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 24, 'Sold': 396, 'Amount': 676764, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 40, 'Sold': 178, 'Amount': 303668, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 26, 'Sold': 509, 'Amount': 864791, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 15, 'Sold': 66, 'Amount': 112464, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 22, 'Sold': 145, 'Amount': 247805, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 33, 'Sold': 352, 'Amount': 600512, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 36, 'Sold': 207, 'Amount': 351693, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 19, 'Sold': 30, 'Amount': 51120, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 11, 'Sold': 417, 'Amount': 712653, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 36, 'Sold': 172, 'Amount': 293432, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 24, 'Sold': 217, 'Amount': 368683, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 2, 'Sold': 83, 'Amount': 141432, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 10, 'Sold': 499, 'Amount': 852791, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 1, 'Sold': 163, 'Amount': 278078, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 44, 'Sold': 402, 'Amount': 682998, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 51, 'Amount': 86904, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 45, 'Sold': 452, 'Amount': 772468, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 40, 'Sold': 55, 'Amount': 93830, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 11, 'Sold': 164, 'Amount': 278636, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 14, 'Sold': 39, 'Amount': 66456, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 21, 'Sold': 390, 'Amount': 666510, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 3, 'Sold': 363, 'Amount': 619278, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 44, 'Sold': 367, 'Amount': 623533, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 28, 'Sold': 33, 'Amount': 56232, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 33, 'Sold': 483, 'Amount': 825447, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 469, 'Amount': 800114, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 39, 'Sold': 252, 'Amount': 428148, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 41, 'Sold': 70, 'Amount': 119280, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 13, 'Sold': 199, 'Amount': 340091, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 13, 'Sold': 351, 'Amount': 598806, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 8, 'Sold': 173, 'Amount': 293927, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Mountain Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 420, 'Amount': 670320, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 226, 'Amount': 360526.5, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 46, 'Sold': 229, 'Amount': 365255, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 50, 'Sold': 59, 'Amount': 94134.5, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 42, 'Sold': 109, 'Amount': 173964, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 38, 'Sold': 264, 'Amount': 421146, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 24, 'Sold': 219, 'Amount': 349305, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 29, 'Sold': 52, 'Amount': 82966, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 38, 'Sold': 144, 'Amount': 229824, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 197, 'Amount': 314264.25, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 4, 'Sold': 141, 'Amount': 224895, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 42, 'Sold': 63, 'Amount': 100516.5, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 492, 'Amount': 785232, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 9, 'Sold': 121, 'Amount': 193025.25, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 41, 'Sold': 268, 'Amount': 427460, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 39, 'Sold': 18, 'Amount': 28719, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 30, 'Sold': 411, 'Amount': 655956, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 1, 'Sold': 56, 'Amount': 89334, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 443, 'Amount': 706585, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 31, 'Sold': 32, 'Amount': 51056, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 41, 'Sold': 88, 'Amount': 140448, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 48, 'Sold': 136, 'Amount': 216954, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 35, 'Sold': 89, 'Amount': 141955, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 8, 'Sold': 41, 'Amount': 65415.5, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 40, 'Sold': 468, 'Amount': 746928, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 316, 'Amount': 504099, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 31, 'Sold': 419, 'Amount': 668305, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 24, 'Sold': 38, 'Amount': 60629, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 29, 'Sold': 485, 'Amount': 774060, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 106, 'Amount': 169096.5, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 544, 'Amount': 867680, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 22, 'Sold': 42, 'Amount': 67011, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 43, 'Sold': 118, 'Amount': 188328, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 46, 'Sold': 166, 'Amount': 264811.5, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 38, 'Sold': 439, 'Amount': 700205, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 284, 'Amount': 453264, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 395, 'Amount': 630123.75, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 5, 'Sold': 286, 'Amount': 456170, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 85, 'Amount': 135617.5, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 330, 'Amount': 526680, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 33, 'Sold': 61, 'Amount': 97310.25, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 18, 'Sold': 370, 'Amount': 590150, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 50, 'Sold': 99, 'Amount': 157954.5, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 8, 'Sold': 259, 'Amount': 413364, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 295, 'Amount': 470598.75, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 21, 'Sold': 288, 'Amount': 459360, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 22, 'Sold': 34, 'Amount': 54247, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 41, 'Sold': 118, 'Amount': 188328, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 45, 'Sold': 257, 'Amount': 409979.25, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 21, 'Sold': 337, 'Amount': 537515, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 29, 'Sold': 30, 'Amount': 47865, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 14, 'Sold': 293, 'Amount': 467628, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 45, 'Sold': 179, 'Amount': 285549.75, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 14, 'Sold': 463, 'Amount': 738485, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 15, 'Sold': 90, 'Amount': 143595, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 19, 'Sold': 365, 'Amount': 582540, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 313, 'Amount': 499313.25, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 13, 'Sold': 290, 'Amount': 462550, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 39, 'Sold': 95, 'Amount': 151572.5, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 4, 'Sold': 370, 'Amount': 590520, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 32, 'Sold': 301, 'Amount': 480170.25, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 42, 'Sold': 297, 'Amount': 473715, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 13, 'Sold': 66, 'Amount': 105303, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 42, 'Sold': 153, 'Amount': 244188, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 38, 'Sold': 178, 'Amount': 283954.5, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 7, 'Sold': 414, 'Amount': 660330, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 28, 'Amount': 44674, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 4, 'Sold': 244, 'Amount': 389424, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 9, 'Sold': 90, 'Amount': 143572.5, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 13, 'Sold': 477, 'Amount': 760815, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 17, 'Sold': 73, 'Amount': 116471.5, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 24, 'Sold': 390, 'Amount': 622440, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 49, 'Sold': 392, 'Amount': 625338, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 5, 'Sold': 412, 'Amount': 657140, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 13, 'Sold': 33, 'Amount': 52651.5, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 3, 'Sold': 423, 'Amount': 675108, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 14, 'Sold': 188, 'Amount': 299907, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 21, 'Sold': 465, 'Amount': 741675, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 17, 'Sold': 26, 'Amount': 41483, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 14, 'Sold': 50, 'Amount': 79800, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 39, 'Sold': 313, 'Amount': 499313.25, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 38, 'Sold': 287, 'Amount': 457765, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 29, 'Sold': 92, 'Amount': 146786, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 32, 'Sold': 356, 'Amount': 568176, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 19, 'Sold': 445, 'Amount': 709886.25, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 34, 'Sold': 204, 'Amount': 325380, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 31, 'Sold': 83, 'Amount': 132426.5, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 20, 'Sold': 88, 'Amount': 140448, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 20, 'Sold': 313, 'Amount': 499313.25, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 49, 'Sold': 262, 'Amount': 417890, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 32, 'Sold': 59, 'Amount': 94134.5, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 3, 'Sold': 109, 'Amount': 173964, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 48, 'Sold': 394, 'Amount': 628528.5, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 12, 'Sold': 199, 'Amount': 317405, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 46, 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 48, 'Sold': 202, 'Amount': 322392, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 12, 'Sold': 342, 'Amount': 545575.5, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 252, 'Amount': 401940, 'Country': 'United Kingdom', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 7, 'Sold': 79, 'Amount': 126044.5, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 32, 'Sold': 219, 'Amount': 349524, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 17, 'Sold': 412, 'Amount': 657243, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 15, 'Sold': 359, 'Amount': 572605, 'Country': 'United States', 'Product_Categories': 'Bikes', 'Products': 'Touring Bikes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 59, 'Amount': 354.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 33, 'Sold': 24, 'Amount': 684, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 45, 'Sold': 64, 'Amount': 1376, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 34, 'Amount': 3774.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 10, 'Sold': 345, 'Amount': 2760, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 9, 'Sold': 128, 'Amount': 3712, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 4, 'Sold': 294, 'Amount': 4998, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 288, 'Amount': 32256, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 8, 'Sold': 362, 'Amount': 2262.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 5, 'Sold': 250, 'Amount': 7062.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 15, 'Sold': 386, 'Amount': 6272.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 42, 'Sold': 83, 'Amount': 9233.75, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 447, 'Amount': 2682, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 10, 'Sold': 174, 'Amount': 4872, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 375, 'Amount': 6000, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 434, 'Amount': 38295, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 24, 'Sold': 42, 'Amount': 252.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 13, 'Sold': 72, 'Amount': 2052, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 45, 'Sold': 84, 'Amount': 1806, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 3, 'Sold': 64, 'Amount': 7104.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 6, 'Sold': 181, 'Amount': 1448, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 18, 'Sold': 364, 'Amount': 10556, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 18, 'Sold': 72, 'Amount': 1224, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 43, 'Sold': 407, 'Amount': 45584, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 49, 'Sold': 342, 'Amount': 2137.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 43, 'Sold': 291, 'Amount': 8220.75, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 20, 'Sold': 242, 'Amount': 3932.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 18, 'Sold': 398, 'Amount': 44277.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 10, 'Sold': 321, 'Amount': 1926, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 25, 'Sold': 356, 'Amount': 9968, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 11, 'Sold': 61, 'Amount': 976, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 39, 'Sold': 520, 'Amount': 20091, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 62, 'Amount': 372.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 37, 'Sold': 46, 'Amount': 1311, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 26, 'Sold': 21, 'Amount': 451.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 40, 'Sold': 15, 'Amount': 1665.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 6, 'Sold': 232, 'Amount': 1856, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 14, 'Sold': 141, 'Amount': 4089, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 25, 'Sold': 407, 'Amount': 6919, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 5, 'Sold': 381, 'Amount': 42672, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 35, 'Sold': 204, 'Amount': 1275, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 5, 'Sold': 194, 'Amount': 5480.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 23, 'Sold': 344, 'Amount': 5590, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 15, 'Sold': 479, 'Amount': 53288.75, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 12, 'Sold': 139, 'Amount': 834, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 14, 'Sold': 407, 'Amount': 11396, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 18, 'Sold': 370, 'Amount': 5920, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 22, 'Sold': 336, 'Amount': 25752, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 23, 'Sold': 37, 'Amount': 222.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 33, 'Sold': 37, 'Amount': 1054.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 14, 'Sold': 14, 'Amount': 301, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 2, 'Sold': 10, 'Amount': 1110.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 13, 'Sold': 342, 'Amount': 2736, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 46, 'Sold': 456, 'Amount': 13224, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 48, 'Sold': 455, 'Amount': 7735, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 45, 'Sold': 257, 'Amount': 28784, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 5, 'Sold': 333, 'Amount': 2081.25, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 6, 'Sold': 261, 'Amount': 7373.25, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 31, 'Sold': 212, 'Amount': 3445, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 39, 'Sold': 236, 'Amount': 26255, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 29, 'Sold': 311, 'Amount': 1866, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 23, 'Sold': 348, 'Amount': 9744, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 49, 'Sold': 161, 'Amount': 2576, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 9, 'Sold': 517, 'Amount': 37962, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 35, 'Sold': 50, 'Amount': 300.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 36, 'Amount': 1026, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 13, 'Sold': 71, 'Amount': 1526.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 76, 'Amount': 8436.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 314, 'Amount': 2512, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 30, 'Sold': 493, 'Amount': 14297, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 29, 'Sold': 105, 'Amount': 1785, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 112, 'Amount': 12544, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 29, 'Sold': 382, 'Amount': 2387.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 48, 'Sold': 164, 'Amount': 4633, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 22, 'Sold': 195, 'Amount': 3168.75, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 42, 'Sold': 146, 'Amount': 16242.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 340, 'Amount': 2040, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 50, 'Sold': 201, 'Amount': 5628, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 20, 'Sold': 509, 'Amount': 8144, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 151, 'Amount': 34854, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 50, 'Sold': 11, 'Amount': 66.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 48, 'Sold': 18, 'Amount': 513, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 4, 'Sold': 55, 'Amount': 1182.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 42, 'Sold': 22, 'Amount': 2442.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 15, 'Sold': 281, 'Amount': 2248, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 23, 'Sold': 344, 'Amount': 9976, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 38, 'Sold': 213, 'Amount': 3621, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 21, 'Sold': 423, 'Amount': 47376, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 15, 'Sold': 255, 'Amount': 1593.75, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 44, 'Sold': 267, 'Amount': 7542.75, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 159, 'Amount': 2583.75, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 11, 'Sold': 325, 'Amount': 36156.25, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 21, 'Sold': 489, 'Amount': 2934, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 44, 'Sold': 423, 'Amount': 11844, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 1, 'Sold': 181, 'Amount': 2896, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 48, 'Sold': 437, 'Amount': 31191, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 43, 'Sold': 81, 'Amount': 486.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 22, 'Sold': 86, 'Amount': 2451, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 1, 'Sold': 90, 'Amount': 1935, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 12, 'Sold': 66, 'Amount': 7326.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 30, 'Sold': 253, 'Amount': 2024, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 32, 'Sold': 471, 'Amount': 13659, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 45, 'Sold': 441, 'Amount': 7497, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 24, 'Sold': 255, 'Amount': 28560, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 23, 'Sold': 66, 'Amount': 412.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 12, 'Sold': 187, 'Amount': 5282.75, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 11, 'Sold': 324, 'Amount': 5265, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 41, 'Sold': 348, 'Amount': 38715, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 39, 'Sold': 208, 'Amount': 1248, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 293, 'Amount': 8204, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 30, 'Sold': 80, 'Amount': 1280, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 35, 'Sold': 447, 'Amount': 28083, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 6, 'Sold': 10, 'Amount': 60.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 2, 'Sold': 45, 'Amount': 1282.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 48, 'Sold': 86, 'Amount': 1849, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 31, 'Sold': 14, 'Amount': 1554.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 16, 'Sold': 373, 'Amount': 2984, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 3, 'Sold': 151, 'Amount': 4379, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 15, 'Sold': 107, 'Amount': 1819, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 8, 'Sold': 227, 'Amount': 25424, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 43, 'Sold': 382, 'Amount': 2387.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 32, 'Sold': 233, 'Amount': 6582.25, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 23, 'Sold': 139, 'Amount': 2258.75, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 12, 'Sold': 410, 'Amount': 45612.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 21, 'Sold': 540, 'Amount': 3240, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 41, 'Sold': 265, 'Amount': 7420, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 8, 'Sold': 206, 'Amount': 3296, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 47, 'Sold': 392, 'Amount': 41403, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 9, 'Sold': 21, 'Amount': 126.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 9, 'Sold': 35, 'Amount': 997.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 23, 'Sold': 79, 'Amount': 1698.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 33, 'Sold': 31, 'Amount': 3441.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 16, 'Sold': 106, 'Amount': 848, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 32, 'Sold': 148, 'Amount': 4292, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 24, 'Sold': 437, 'Amount': 7429, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 355, 'Amount': 39760, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 21, 'Sold': 280, 'Amount': 1750, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 13, 'Sold': 308, 'Amount': 8701, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 1, 'Sold': 252, 'Amount': 4095, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 24, 'Sold': 239, 'Amount': 26588.75, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 439, 'Amount': 2634, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 260, 'Amount': 7280, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 22, 'Sold': 294, 'Amount': 4704, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 27, 'Sold': 340, 'Amount': 11766, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 24, 'Sold': 62, 'Amount': 372.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 23, 'Sold': 30, 'Amount': 855, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 37, 'Sold': 54, 'Amount': 1161, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 5, 'Sold': 17, 'Amount': 1887.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 26, 'Sold': 80, 'Amount': 640, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 12, 'Sold': 86, 'Amount': 2494, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 1, 'Sold': 63, 'Amount': 1071, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 37, 'Sold': 75, 'Amount': 8400, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 29, 'Sold': 123, 'Amount': 768.75, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 35, 'Sold': 219, 'Amount': 6186.75, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 274, 'Amount': 4452.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 47, 'Sold': 57, 'Amount': 6341.25, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 259, 'Amount': 1554, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 2, 'Sold': 266, 'Amount': 7448, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 20, 'Sold': 246, 'Amount': 3936, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 70, 'Amount': 8880, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 26, 'Sold': 34, 'Amount': 204.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 29, 'Sold': 40, 'Amount': 1140, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 44, 'Sold': 47, 'Amount': 1010.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 13, 'Sold': 49, 'Amount': 5439.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 22, 'Sold': 206, 'Amount': 1648, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 1, 'Sold': 169, 'Amount': 4901, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 19, 'Sold': 385, 'Amount': 6545, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 38, 'Sold': 358, 'Amount': 40096, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 36, 'Sold': 148, 'Amount': 925, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 24, 'Sold': 128, 'Amount': 3616, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 376, 'Amount': 6110, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 5, 'Sold': 64, 'Amount': 7120, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 3, 'Sold': 399, 'Amount': 2394, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 6, 'Sold': 145, 'Amount': 4060, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 21, 'Sold': 199, 'Amount': 3184, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 2, 'Sold': 366, 'Amount': 22866, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 37, 'Sold': 13, 'Amount': 78.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 39, 'Sold': 82, 'Amount': 2337, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 25, 'Sold': 15, 'Amount': 322.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 4, 'Sold': 50, 'Amount': 5550.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 27, 'Sold': 462, 'Amount': 3696, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 35, 'Sold': 165, 'Amount': 4785, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 14, 'Sold': 228, 'Amount': 3876, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 46, 'Sold': 89, 'Amount': 9968, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 10, 'Sold': 157, 'Amount': 981.25, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 4, 'Sold': 115, 'Amount': 3248.75, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 15, 'Sold': 420, 'Amount': 6825, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 20, 'Sold': 490, 'Amount': 54512.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 44, 'Sold': 459, 'Amount': 2754, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 23, 'Sold': 332, 'Amount': 9296, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 6, 'Sold': 93, 'Amount': 1488, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 16, 'Sold': 61, 'Amount': 51282, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 9, 'Sold': 81, 'Amount': 486.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 19, 'Sold': 81, 'Amount': 2308.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 29, 'Sold': 73, 'Amount': 1569.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 3, 'Sold': 62, 'Amount': 6882.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 38, 'Sold': 125, 'Amount': 1000, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 274, 'Amount': 7946, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 26, 'Sold': 348, 'Amount': 5916, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 22, 'Sold': 489, 'Amount': 54768, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 5, 'Sold': 144, 'Amount': 900, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 42, 'Sold': 155, 'Amount': 4378.75, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 6, 'Sold': 134, 'Amount': 2177.5, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 393, 'Amount': 43721.25, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 44, 'Sold': 423, 'Amount': 2538, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Gloves', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 178, 'Amount': 4984, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Jerseys', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 26, 'Sold': 439, 'Amount': 7024, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Shorts', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 23, 'Sold': 220, 'Amount': 13875, 'Country': 'United States', 'Product_Categories': 'Clothing', 'Products': 'Vests', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 53, 'Amount': 1033.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 33, 'Sold': 70, 'Amount': 525.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 45, 'Sold': 61, 'Amount': 1875.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 46, 'Sold': 61, 'Amount': 458, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 81, 'Amount': 1278.18, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 1, 'Sold': 94, 'Amount': 1081, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 12, 'Sold': 395, 'Amount': 7900, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 29, 'Sold': 400, 'Amount': 3400, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 306, 'Amount': 9562.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 49, 'Sold': 200, 'Amount': 1000, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 477, 'Amount': 7765.56, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 339, 'Amount': 4068, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 46, 'Sold': 111, 'Amount': 2136.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 1, 'Sold': 384, 'Amount': 2976, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 23, 'Sold': 384, 'Amount': 11712, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 32, 'Sold': 228, 'Amount': 969, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 50, 'Sold': 355, 'Amount': 5513.15, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 150, 'Amount': 1687.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 459, 'Amount': 8721, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 44, 'Sold': 481, 'Amount': 3607.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 17, 'Sold': 243, 'Amount': 7350.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 26, 'Sold': 520, 'Amount': 2080, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 9, 'Sold': 250, 'Amount': 3820, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 141, 'Amount': 1551, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'In_Stock': 23, 'Sold': 85, 'Amount': 1657.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 2, 'Sold': 14, 'Amount': 105.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 96, 'Amount': 2952, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 76, 'Amount': 342, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 6, 'Sold': 93, 'Amount': 1467.54, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 13, 'Sold': 75, 'Amount': 862.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 18, 'Sold': 181, 'Amount': 3620, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 63, 'Amount': 535.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 94, 'Amount': 2937.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 290, 'Amount': 1450, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 495, 'Amount': 8058.6, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 455, 'Amount': 5460, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 39, 'Sold': 487, 'Amount': 9374.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 45, 'Sold': 446, 'Amount': 3456.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 298, 'Amount': 9089, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 45, 'Sold': 291, 'Amount': 1236.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 6, 'Sold': 291, 'Amount': 4519.23, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 49, 'Sold': 128, 'Amount': 1440, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 6, 'Sold': 321, 'Amount': 6099, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 45, 'Sold': 515, 'Amount': 3862.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 35, 'Sold': 534, 'Amount': 16153.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 7, 'Sold': 467, 'Amount': 1868, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 36, 'Sold': 322, 'Amount': 4920.16, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 22, 'Sold': 258, 'Amount': 2838, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'In_Stock': 20, 'Sold': 59, 'Amount': 1150.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 22, 'Sold': 57, 'Amount': 428, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 27, 'Sold': 27, 'Amount': 830.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 76, 'Amount': 342, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 16, 'Amount': 252.48, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 14, 'Sold': 87, 'Amount': 1000.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 388, 'Amount': 7760, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 48, 'Sold': 327, 'Amount': 2779.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 15, 'Sold': 149, 'Amount': 4656.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 386, 'Amount': 1930, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 19, 'Sold': 325, 'Amount': 5291, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 273, 'Amount': 3276, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 52, 'Amount': 1001, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 398, 'Amount': 3084.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 47, 'Sold': 242, 'Amount': 7381, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 32, 'Sold': 319, 'Amount': 1355.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 28, 'Sold': 300, 'Amount': 4659, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 318, 'Amount': 3577.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 42, 'Sold': 217, 'Amount': 4123, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 9, 'Sold': 277, 'Amount': 2077.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 9, 'Sold': 450, 'Amount': 13612.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 15, 'Sold': 267, 'Amount': 1068, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 17, 'Sold': 498, 'Amount': 7609.44, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 42, 'Sold': 246, 'Amount': 2706, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'In_Stock': 8, 'Sold': 70, 'Amount': 1365, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 31, 'Sold': 62, 'Amount': 465.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 38, 'Sold': 75, 'Amount': 2306.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 22, 'Sold': 39, 'Amount': 175.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 36, 'Sold': 52, 'Amount': 820.56, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 9, 'Sold': 96, 'Amount': 1104, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 46, 'Sold': 351, 'Amount': 7020, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 50, 'Sold': 437, 'Amount': 3714.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 17, 'Sold': 260, 'Amount': 8125, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 1, 'Sold': 321, 'Amount': 1605, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 13, 'Sold': 66, 'Amount': 1074.48, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 6, 'Sold': 125, 'Amount': 1500, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 11, 'Sold': 237, 'Amount': 4562.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 34, 'Sold': 208, 'Amount': 1612, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 37, 'Sold': 471, 'Amount': 14365.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 10, 'Sold': 453, 'Amount': 1925.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 44, 'Sold': 234, 'Amount': 3634.02, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 5, 'Sold': 199, 'Amount': 2238.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 41, 'Sold': 542, 'Amount': 10298, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 25, 'Sold': 109, 'Amount': 817.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 46, 'Sold': 191, 'Amount': 5777.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 5, 'Sold': 124, 'Amount': 496, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 49, 'Sold': 343, 'Amount': 5241.04, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 9, 'Sold': 199, 'Amount': 2189, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'In_Stock': 6, 'Sold': 65, 'Amount': 1267.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 38, 'Sold': 75, 'Amount': 563, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 45, 'Sold': 75, 'Amount': 2306.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 22, 'Sold': 66, 'Amount': 297, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 37, 'Sold': 29, 'Amount': 457.62, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 22, 'Sold': 43, 'Amount': 494.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 13, 'Sold': 314, 'Amount': 6280, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 29, 'Sold': 498, 'Amount': 4233, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 15, 'Sold': 494, 'Amount': 15437.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 16, 'Sold': 164, 'Amount': 820, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 38, 'Sold': 447, 'Amount': 7277.16, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 11, 'Sold': 154, 'Amount': 1848, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 4, 'Sold': 388, 'Amount': 7469, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 20, 'Sold': 498, 'Amount': 3859.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 400, 'Amount': 12200, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 21, 'Sold': 500, 'Amount': 2125, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 49, 'Sold': 457, 'Amount': 7097.21, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 18, 'Sold': 216, 'Amount': 2430, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 3, 'Sold': 90, 'Amount': 1710, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 7, 'Sold': 344, 'Amount': 2580, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 49, 'Sold': 188, 'Amount': 5687, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 49, 'Sold': 488, 'Amount': 1952, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 35, 'Sold': 468, 'Amount': 7151.04, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 20, 'Sold': 454, 'Amount': 4994, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'In_Stock': 12, 'Sold': 42, 'Amount': 819, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 45, 'Sold': 89, 'Amount': 668, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 16, 'Sold': 84, 'Amount': 2583, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 5, 'Sold': 41, 'Amount': 184.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 10, 'Sold': 77, 'Amount': 1215.06, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 25, 'Sold': 97, 'Amount': 1115.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 27, 'Sold': 169, 'Amount': 3380, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 17, 'Sold': 494, 'Amount': 4199, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 1, 'Sold': 127, 'Amount': 3968.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 34, 'Sold': 459, 'Amount': 2295, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 9, 'Sold': 466, 'Amount': 7586.48, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 64, 'Amount': 768, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 18, 'Sold': 417, 'Amount': 8027.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 24, 'Sold': 73, 'Amount': 565.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 42, 'Sold': 482, 'Amount': 14701, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 367, 'Amount': 1559.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 8, 'Sold': 303, 'Amount': 4705.59, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 25, 'Sold': 176, 'Amount': 1980, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 34, 'Sold': 436, 'Amount': 8284, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 36, 'Sold': 203, 'Amount': 1522.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 39, 'Sold': 95, 'Amount': 2873.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 10, 'Sold': 381, 'Amount': 1524, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 16, 'Sold': 85, 'Amount': 1298.8, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 4, 'Sold': 74, 'Amount': 814, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'In_Stock': 9, 'Sold': 13, 'Amount': 253.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 1, 'Sold': 15, 'Amount': 113, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 13, 'Sold': 46, 'Amount': 1414.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 18, 'Sold': 69, 'Amount': 310.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 47, 'Sold': 34, 'Amount': 536.52, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 41, 'Sold': 38, 'Amount': 437, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 45, 'Sold': 480, 'Amount': 9600, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 32, 'Sold': 434, 'Amount': 3689, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 27, 'Sold': 181, 'Amount': 5656.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 25, 'Sold': 500, 'Amount': 2500, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 46, 'Sold': 63, 'Amount': 1025.64, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 28, 'Sold': 238, 'Amount': 2856, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 38, 'Sold': 257, 'Amount': 4947.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 13, 'Sold': 178, 'Amount': 1379.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 41, 'Sold': 264, 'Amount': 8052, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 16, 'Sold': 441, 'Amount': 1874.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 48, 'Sold': 243, 'Amount': 3773.79, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 30, 'Sold': 131, 'Amount': 1473.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 47, 'Sold': 402, 'Amount': 7638, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 14, 'Sold': 488, 'Amount': 3660, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 31, 'Sold': 237, 'Amount': 7169.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 36, 'Sold': 251, 'Amount': 1004, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 9, 'Sold': 151, 'Amount': 2307.28, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 44, 'Sold': 387, 'Amount': 4257, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'In_Stock': 13, 'Sold': 10, 'Amount': 195, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 49, 'Sold': 77, 'Amount': 578, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 13, 'Sold': 70, 'Amount': 2152.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 23, 'Sold': 90, 'Amount': 405, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 37, 'Sold': 58, 'Amount': 915.24, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 31, 'Sold': 91, 'Amount': 1046.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 42, 'Sold': 497, 'Amount': 9940, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 31, 'Sold': 411, 'Amount': 3493.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 34, 'Sold': 285, 'Amount': 8906.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 38, 'Sold': 62, 'Amount': 310, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 18, 'Sold': 109, 'Amount': 1774.52, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 10, 'Sold': 172, 'Amount': 2064, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 23, 'Sold': 408, 'Amount': 7854, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 34, 'Sold': 78, 'Amount': 604.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 41, 'Sold': 149, 'Amount': 4544.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 28, 'Sold': 387, 'Amount': 1644.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 6, 'Sold': 269, 'Amount': 4177.57, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 34, 'Sold': 291, 'Amount': 3273.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 3, 'Sold': 292, 'Amount': 5548, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 8, 'Sold': 124, 'Amount': 930, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 5, 'Sold': 265, 'Amount': 8016.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 31, 'Sold': 175, 'Amount': 700, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 45, 'Sold': 144, 'Amount': 2200.32, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 17, 'Sold': 411, 'Amount': 4521, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'In_Stock': 34, 'Sold': 75, 'Amount': 1462.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 29, 'Sold': 30, 'Amount': 225.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 31, 'Sold': 15, 'Amount': 461.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 19, 'Sold': 30, 'Amount': 135, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 4, 'Sold': 63, 'Amount': 994.14, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 47, 'Sold': 55, 'Amount': 632.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 37, 'Sold': 58, 'Amount': 1160, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 35, 'Sold': 308, 'Amount': 2618, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 29, 'Sold': 331, 'Amount': 10343.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 39, 'Sold': 312, 'Amount': 1560, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 50, 'Sold': 186, 'Amount': 3028.08, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 4, 'Sold': 261, 'Amount': 3132, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 43, 'Sold': 87, 'Amount': 1674.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 42, 'Sold': 197, 'Amount': 1526.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 27, 'Sold': 124, 'Amount': 3782, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 44, 'Sold': 178, 'Amount': 756.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 5, 'Sold': 274, 'Amount': 4255.22, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 18, 'Sold': 388, 'Amount': 4365, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 39, 'Sold': 528, 'Amount': 10032, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 33, 'Sold': 285, 'Amount': 2137.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 37, 'Sold': 306, 'Amount': 9256.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 43, 'Sold': 548, 'Amount': 2192, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 35, 'Sold': 265, 'Amount': 4049.2, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 48, 'Sold': 261, 'Amount': 2871, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'In_Stock': 4, 'Sold': 57, 'Amount': 1111.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 14, 'Sold': 12, 'Amount': 90.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 2, 'Sold': 48, 'Amount': 1476, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 1, 'Sold': 68, 'Amount': 306, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 26, 'Sold': 42, 'Amount': 662.76, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 41, 'Sold': 82, 'Amount': 943, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 50, 'Sold': 312, 'Amount': 6240, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 9, 'Sold': 206, 'Amount': 1751, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 9, 'Sold': 393, 'Amount': 12281.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 48, 'Sold': 354, 'Amount': 1770, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 45, 'Sold': 160, 'Amount': 2604.8, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 36, 'Sold': 243, 'Amount': 2916, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 9, 'Sold': 430, 'Amount': 8277.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 12, 'Sold': 56, 'Amount': 434, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 37, 'Sold': 101, 'Amount': 3080.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 1, 'Sold': 202, 'Amount': 858.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 30, 'Sold': 472, 'Amount': 7330.16, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 28, 'Sold': 385, 'Amount': 4331.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 5, 'Sold': 287, 'Amount': 5453, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 24, 'Sold': 129, 'Amount': 967.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 49, 'Sold': 547, 'Amount': 16546.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 47, 'Sold': 276, 'Amount': 1104, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 8, 'Sold': 518, 'Amount': 7915.04, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 35, 'Sold': 158, 'Amount': 1738, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'In_Stock': 2, 'Sold': 46, 'Amount': 897, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 44, 'Sold': 47, 'Amount': 353, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 19, 'Sold': 17, 'Amount': 522.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 22, 'Sold': 31, 'Amount': 139.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 40, 'Sold': 77, 'Amount': 1215.06, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 100, 'Amount': 1150, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 3, 'Sold': 356, 'Amount': 7120, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 41, 'Sold': 418, 'Amount': 3553, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 16, 'Sold': 261, 'Amount': 8156.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 6, 'Sold': 306, 'Amount': 1530, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 6, 'Sold': 361, 'Amount': 5877.08, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 29, 'Sold': 193, 'Amount': 2316, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 13, 'Sold': 420, 'Amount': 8085, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 40, 'Sold': 197, 'Amount': 1526.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 32, 'Sold': 247, 'Amount': 7533.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 18, 'Sold': 175, 'Amount': 743.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 31, 'Sold': 436, 'Amount': 6771.08, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 5, 'Sold': 91, 'Amount': 1023.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 135, 'Amount': 2565, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 102, 'Amount': 765, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 3, 'Sold': 88, 'Amount': 2662, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 39, 'Sold': 406, 'Amount': 1624, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 44, 'Sold': 275, 'Amount': 4202, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 21, 'Sold': 116, 'Amount': 1276, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'In_Stock': 14, 'Sold': 66, 'Amount': 1287, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 3, 'Sold': 86, 'Amount': 645.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 50, 'Sold': 68, 'Amount': 2091, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 40, 'Sold': 96, 'Amount': 432, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 22, 'Sold': 79, 'Amount': 1246.62, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 21, 'Sold': 69, 'Amount': 793.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 35, 'Sold': 269, 'Amount': 5380, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 38, 'Sold': 152, 'Amount': 1292, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 19, 'Sold': 213, 'Amount': 6656.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 2, 'Sold': 212, 'Amount': 1060, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 19, 'Sold': 454, 'Amount': 7391.12, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 38, 'Sold': 197, 'Amount': 2364, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 7, 'Sold': 76, 'Amount': 1463, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 32, 'Sold': 242, 'Amount': 1875.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 37, 'Sold': 211, 'Amount': 6435.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 12, 'Sold': 149, 'Amount': 633.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 4, 'Sold': 104, 'Amount': 1615.12, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 36, 'Sold': 371, 'Amount': 4173.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 10, 'Sold': 545, 'Amount': 10355, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 39, 'Sold': 547, 'Amount': 4102.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 2, 'Sold': 386, 'Amount': 11676.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 34, 'Sold': 199, 'Amount': 796, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 38, 'Sold': 454, 'Amount': 6937.12, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 19, 'Sold': 138, 'Amount': 1518, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'In_Stock': 6, 'Sold': 32, 'Amount': 624, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 19, 'Sold': 80, 'Amount': 600.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 25, 'Sold': 33, 'Amount': 1014.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 38, 'Sold': 48, 'Amount': 216, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 8, 'Sold': 36, 'Amount': 568.08, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 4, 'Sold': 18, 'Amount': 207, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Retail Outlets', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 32, 'Sold': 125, 'Amount': 2500, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 28, 'Sold': 481, 'Amount': 4088.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 22, 'Sold': 287, 'Amount': 8968.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 10, 'Sold': 302, 'Amount': 1510, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 20, 'Sold': 264, 'Amount': 4297.92, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 23, 'Sold': 107, 'Amount': 1284, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Sales Person', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 17, 'Sold': 219, 'Amount': 4215.75, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 20, 'Sold': 384, 'Amount': 2976, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 27, 'Sold': 231, 'Amount': 7045.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 24, 'Sold': 409, 'Amount': 1738.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 24, 'Sold': 204, 'Amount': 3168.12, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 22, 'Sold': 301, 'Amount': 3386.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'Teleshopping', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 14, 'Sold': 535, 'Amount': 10165, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Tires and Tubes', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 47, 'Sold': 405, 'Amount': 3037.5, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Bottles and Cages', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 14, 'Sold': 385, 'Amount': 11646.25, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Hydration Packs', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 11, 'Sold': 426, 'Amount': 1704, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Cleaners', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 13, 'Sold': 392, 'Amount': 5989.76, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Helmets', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'In_Stock': 9, 'Sold': 426, 'Amount': 4686, 'Country': 'United States', 'Product_Categories': 'Accessories', 'Products': 'Fenders', 'Order_Source': 'App Store', 'Year': 'FY 2017', 'Quarter': 'Q4' }];
+
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/src/main.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/src/main.ts
new file mode 100644
index 00000000000..3607237bd6e
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/src/main.ts
@@ -0,0 +1,4 @@
+import { bootstrapApplication } from '@angular/platform-browser';
+import { AppComponent } from './app.component';
+import 'zone.js';
+bootstrapApplication(AppComponent).catch((err) => console.error(err));
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/src/styles.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/src/styles.css
new file mode 100644
index 00000000000..47b514c6822
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/src/styles.css
@@ -0,0 +1,12 @@
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-calendars/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-grids/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-pivotview/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-base/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/tsconfig.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/tsconfig.json
new file mode 100644
index 00000000000..9fa16d6333c
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs334/tsconfig.json
@@ -0,0 +1,32 @@
+{
+ "compileOnSave": false,
+ "compilerOptions": {
+ "baseUrl": "./",
+ "outDir": "./dist/out-tsc",
+ "forceConsistentCasingInFileNames": true,
+ "strict": true,
+ "noImplicitOverride": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "sourceMap": true,
+ "declaration": false,
+ "downlevelIteration": true,
+ "experimentalDecorators": true,
+ "moduleResolution": "node",
+ "importHelpers": true,
+ "target": "ES2022",
+ "module": "ES2022",
+ "useDefineForClassFields": false,
+ "lib": [
+ "ES2022",
+ "dom"
+ ]
+ },
+ "angularCompilerOptions": {
+ "enableI18nLegacyMessageIdFormat": false,
+ "strictInjectionParameters": true,
+ "strictInputAccessModifiers": true,
+ "strictTemplates": true
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/angular.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/angular.json
new file mode 100644
index 00000000000..98b735ee4bb
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/angular.json
@@ -0,0 +1,70 @@
+{
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+ "version": 1,
+ "newProjectRoot": "projects",
+ "projects": {
+ "syncfusion-component": {
+ "projectType": "application",
+ "schematics": {},
+ "root": "",
+ "sourceRoot": "src",
+ "prefix": "app",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:browser",
+ "options": {
+ "outputPath": "dist",
+ "index": "index.html",
+ "main": "src/main.ts",
+ "tsConfig": "tsconfig.json",
+ "styles": [
+ "src/styles.css"
+ ],
+ "assets": []
+ },
+ "configurations": {
+ "production": {
+ "budgets": [
+ {
+ "type": "initial",
+ "maximumWarning": "500kb",
+ "maximumError": "10mb"
+ },
+ {
+ "type": "anyComponentStyle",
+ "maximumWarning": "2kb",
+ "maximumError": "4kb"
+ }
+ ],
+ "outputHashing": "all"
+ },
+ "development": {
+ "buildOptimizer": false,
+ "optimization": false,
+ "vendorChunk": true,
+ "extractLicenses": false,
+ "sourceMap": true,
+ "namedChunks": true
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "serve": {
+ "builder": "@angular-devkit/build-angular:dev-server",
+ "configurations": {
+ "production": {
+ "buildTarget": "syncfusion-component:build:production"
+ },
+ "development": {
+ "buildTarget": "syncfusion-component:build:development"
+ }
+ },
+ "defaultConfiguration": "development"
+ }
+ }
+ }
+ },
+ "cli": {
+ "analytics": false
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/index.html b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/index.html
new file mode 100644
index 00000000000..300331aaac7
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/index.html
@@ -0,0 +1,98 @@
+
+
+
+
Syncfusion Angular Pivot Grid
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/package.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/package.json
new file mode 100644
index 00000000000..9ab3ea20901
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/package.json
@@ -0,0 +1,51 @@
+{
+ "name": "syncfusion-component",
+ "version": "0.0.0",
+ "scripts": {
+ "ng": "ng",
+ "start": "ng serve",
+ "build": "ng build",
+ "watch": "ng build --watch --configuration development",
+ "test": "ng test"
+ },
+ "private": true,
+ "dependencies": {
+ "@angular/core": "17.1.2",
+ "@angular/platform-browser": "17.1.2",
+ "@angular/platform-browser-dynamic": "17.1.2",
+ "@syncfusion/ej2-angular-pivotview": "*",
+ "@syncfusion/ej2-base": "*",
+ "@syncfusion/ej2-buttons": "*",
+ "@syncfusion/ej2-dropdowns": "*",
+ "@syncfusion/ej2-grids": "*",
+ "@syncfusion/ej2-inputs": "*",
+ "@syncfusion/ej2-lists": "*",
+ "@syncfusion/ej2-navigations": "*",
+ "@syncfusion/ej2-popups": "*",
+ "@syncfusion/ej2-splitbuttons": "*",
+ "@syncfusion/ej2-angular-base": "*",
+ "@angular/animations": "17.1.2",
+ "@angular/common": "17.1.2",
+ "@angular/compiler": "17.1.2",
+ "@angular/forms": "17.1.2",
+ "@angular/router": "17.1.2",
+ "moment": "2.29.4",
+ "rxjs": "7.8.0",
+ "tslib": "2.3.0",
+ "zone.js": "0.14.3",
+ "@syncfusion/ej2-pivotview": "*"
+ },
+ "devDependencies": {
+ "@angular-devkit/build-angular": "17.1.2",
+ "@angular/cli": "17.1.2",
+ "@angular/compiler-cli": "17.1.2",
+ "@types/jasmine": "4.3.0",
+ "jasmine-core": "4.5.0",
+ "karma": "6.4.0",
+ "karma-chrome-launcher": "3.1.0",
+ "karma-coverage": "2.2.0",
+ "karma-jasmine": "5.1.0",
+ "karma-jasmine-html-reporter": "2.0.0",
+ "typescript": "5.3.3"
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/src/app.component.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/src/app.component.css
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/src/app.component.ts
new file mode 100644
index 00000000000..a4a3a90e557
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/src/app.component.ts
@@ -0,0 +1,77 @@
+import { NgModule } from '@angular/core'
+import { BrowserModule } from '@angular/platform-browser'
+import { PivotViewAllModule, PivotFieldListAllModule, PDFExportService } from '@syncfusion/ej2-angular-pivotview'
+import { Component, OnInit, ViewChild } from '@angular/core';
+import { IDataSet, PivotView } from '@syncfusion/ej2-angular-pivotview';
+import { Button } from '@syncfusion/ej2-buttons';
+import { pivotData } from './datasource';
+import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model';
+import { GridSettings } from '@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings';
+import { Observable } from 'rxjs';
+
+@Component({
+ imports: [
+ PivotViewAllModule,
+ PivotFieldListAllModule
+ ],
+ standalone: true,
+ selector: 'app-container',
+ template: `
+
+
+
Export
`,
+ providers: [PDFExportService],
+})
+export class AppComponent implements OnInit {
+ public width?: string;
+ public button?: Button;
+ public dataSourceSettings?: DataSourceSettingsModel;
+ public gridSettings?: GridSettings;
+ public observable = new Observable();
+
+ @ViewChild('pivotview', { static: false })
+ public pivotGridObj?: PivotView;
+
+ ngOnInit(): void {
+ this.dataSourceSettings = {
+ dataSource: pivotData as IDataSet[],
+ expandAll: true,
+ formatSettings: [{ name: 'Amount', format: 'C0' }],
+ columns: [{ name: 'Date', showNoDataItems: true }],
+ values: [{ name: 'Quantity' }, { name: 'Amount', caption: 'Sold Amount' }],
+ rows: [{ name: 'Country', showNoDataItems: true }, { name: 'State', showNoDataItems: true }],
+ filters: [],
+ emptyCellsTextContent: '**'
+ };
+
+ this.gridSettings = {
+ columnWidth: 140,
+ queryCellInfo: this.observable.subscribe((args: any) => {
+ const colIndex = Number(args.cell.getAttribute('aria-colindex'));
+ const currentCell = args.data[colIndex - 1];
+ if (currentCell.formattedText === '**' &&
+ currentCell.actualText === 'Quantity' &&
+ ['Canada.New Mexico', 'United States.British Columbia'].includes(currentCell.rowHeaders)) {
+ args.rowSpan = 2;
+ args.colSpan = 2;
+ }
+ }) as any,
+ pdfQueryCellInfo: this.observable.subscribe((args: any) => {
+ if (args.value === '**' &&
+ args.data.actualText === 'Quantity' &&
+ ['Canada.New Mexico', 'United States.British Columbia'].includes(args.data.rowHeaders)) {
+ args.cell.rowSpan = 2;
+ args.cell.colSpan = 2;
+ }
+ }) as any,
+ } as GridSettings;
+
+ this.button = new Button({ isPrimary: true });
+ this.button.appendTo('#export');
+
+ this.button.element.onclick = (): void => {
+ this.pivotGridObj?.pdfExport();
+ };
+ }
+}
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/src/datasource.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/src/datasource.ts
new file mode 100644
index 00000000000..f9673fcbb67
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/src/datasource.ts
@@ -0,0 +1,14 @@
+export let pivotData: Object[] = [
+ { 'Amount': 100, 'Country': "Canada", 'Date': "FY 2024", 'Product': "Bike", 'Quantity': 2, 'State': "Alberta" },
+ { 'Amount': 200, 'Country': "Canada", 'Date': "FY 2024", 'Product': "Van", 'Quantity': 3, 'State': "British Columbia" },
+ { 'Amount': 200, 'Country': "Canada", 'Date': "FY 2025", 'Product': "Van", 'Quantity': 3, 'State': "British Columbia" },
+ { 'Amount': 100, 'Country': "Canada", 'Date': "FY 2025", 'Product': "Bike", 'Quantity': 2, 'State': "Alberta" },
+ { 'Amount': 150, 'Country': "Canada", 'Date': "FY 2024", 'Product': "Car", 'Quantity': 3, 'State': "New Mexico" },
+ { 'Amount': 200, 'Country': "Canada", 'Date': "FY 2024", 'Product': "Bike", 'Quantity': 4, 'State': "New York" },
+ { 'Amount': 150, 'Country': "United States", 'Date': "FY 2025", 'Product': "Car", 'Quantity': 3, 'State': "New Mexico" },
+ { 'Amount': 200, 'Country': "United States", 'Date': "FY 2024", 'Product': "Bike", 'Quantity': 4, 'State': "New York" },
+ { 'Amount': 150, 'Country': "United States", 'Date': "FY 2024", 'Product': "Car", 'Quantity': 3, 'State': "Alberta" },
+ { 'Amount': 150, 'Country': "United States", 'Date': "FY 2025", 'Product': "Car", 'Quantity': 3, 'State': "Alberta" },
+ { 'Amount': 200, 'Country': "United States", 'Date': "FY 2025", 'Product': "Van", 'Quantity': 3, 'State': "British Columbia" },
+ { 'Amount': 200, 'Country': "United States", 'Date': "FY 2025", 'Product': "Bike", 'Quantity': 4, 'State': "New York" },
+];
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/src/main.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/src/main.ts
new file mode 100644
index 00000000000..3607237bd6e
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/src/main.ts
@@ -0,0 +1,4 @@
+import { bootstrapApplication } from '@angular/platform-browser';
+import { AppComponent } from './app.component';
+import 'zone.js';
+bootstrapApplication(AppComponent).catch((err) => console.error(err));
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/src/styles.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/src/styles.css
new file mode 100644
index 00000000000..47b514c6822
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/src/styles.css
@@ -0,0 +1,12 @@
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-calendars/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-grids/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-pivotview/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-base/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/tsconfig.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/tsconfig.json
new file mode 100644
index 00000000000..9fa16d6333c
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs335/tsconfig.json
@@ -0,0 +1,32 @@
+{
+ "compileOnSave": false,
+ "compilerOptions": {
+ "baseUrl": "./",
+ "outDir": "./dist/out-tsc",
+ "forceConsistentCasingInFileNames": true,
+ "strict": true,
+ "noImplicitOverride": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "sourceMap": true,
+ "declaration": false,
+ "downlevelIteration": true,
+ "experimentalDecorators": true,
+ "moduleResolution": "node",
+ "importHelpers": true,
+ "target": "ES2022",
+ "module": "ES2022",
+ "useDefineForClassFields": false,
+ "lib": [
+ "ES2022",
+ "dom"
+ ]
+ },
+ "angularCompilerOptions": {
+ "enableI18nLegacyMessageIdFormat": false,
+ "strictInjectionParameters": true,
+ "strictInputAccessModifiers": true,
+ "strictTemplates": true
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/angular.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/angular.json
new file mode 100644
index 00000000000..98b735ee4bb
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/angular.json
@@ -0,0 +1,70 @@
+{
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+ "version": 1,
+ "newProjectRoot": "projects",
+ "projects": {
+ "syncfusion-component": {
+ "projectType": "application",
+ "schematics": {},
+ "root": "",
+ "sourceRoot": "src",
+ "prefix": "app",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:browser",
+ "options": {
+ "outputPath": "dist",
+ "index": "index.html",
+ "main": "src/main.ts",
+ "tsConfig": "tsconfig.json",
+ "styles": [
+ "src/styles.css"
+ ],
+ "assets": []
+ },
+ "configurations": {
+ "production": {
+ "budgets": [
+ {
+ "type": "initial",
+ "maximumWarning": "500kb",
+ "maximumError": "10mb"
+ },
+ {
+ "type": "anyComponentStyle",
+ "maximumWarning": "2kb",
+ "maximumError": "4kb"
+ }
+ ],
+ "outputHashing": "all"
+ },
+ "development": {
+ "buildOptimizer": false,
+ "optimization": false,
+ "vendorChunk": true,
+ "extractLicenses": false,
+ "sourceMap": true,
+ "namedChunks": true
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "serve": {
+ "builder": "@angular-devkit/build-angular:dev-server",
+ "configurations": {
+ "production": {
+ "buildTarget": "syncfusion-component:build:production"
+ },
+ "development": {
+ "buildTarget": "syncfusion-component:build:development"
+ }
+ },
+ "defaultConfiguration": "development"
+ }
+ }
+ }
+ },
+ "cli": {
+ "analytics": false
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/index.html b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/index.html
new file mode 100644
index 00000000000..e33401cb4ce
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/index.html
@@ -0,0 +1,26 @@
+
+
+
+
+
Syncfusion Angular Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
+
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/package.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/package.json
new file mode 100644
index 00000000000..9ab3ea20901
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/package.json
@@ -0,0 +1,51 @@
+{
+ "name": "syncfusion-component",
+ "version": "0.0.0",
+ "scripts": {
+ "ng": "ng",
+ "start": "ng serve",
+ "build": "ng build",
+ "watch": "ng build --watch --configuration development",
+ "test": "ng test"
+ },
+ "private": true,
+ "dependencies": {
+ "@angular/core": "17.1.2",
+ "@angular/platform-browser": "17.1.2",
+ "@angular/platform-browser-dynamic": "17.1.2",
+ "@syncfusion/ej2-angular-pivotview": "*",
+ "@syncfusion/ej2-base": "*",
+ "@syncfusion/ej2-buttons": "*",
+ "@syncfusion/ej2-dropdowns": "*",
+ "@syncfusion/ej2-grids": "*",
+ "@syncfusion/ej2-inputs": "*",
+ "@syncfusion/ej2-lists": "*",
+ "@syncfusion/ej2-navigations": "*",
+ "@syncfusion/ej2-popups": "*",
+ "@syncfusion/ej2-splitbuttons": "*",
+ "@syncfusion/ej2-angular-base": "*",
+ "@angular/animations": "17.1.2",
+ "@angular/common": "17.1.2",
+ "@angular/compiler": "17.1.2",
+ "@angular/forms": "17.1.2",
+ "@angular/router": "17.1.2",
+ "moment": "2.29.4",
+ "rxjs": "7.8.0",
+ "tslib": "2.3.0",
+ "zone.js": "0.14.3",
+ "@syncfusion/ej2-pivotview": "*"
+ },
+ "devDependencies": {
+ "@angular-devkit/build-angular": "17.1.2",
+ "@angular/cli": "17.1.2",
+ "@angular/compiler-cli": "17.1.2",
+ "@types/jasmine": "4.3.0",
+ "jasmine-core": "4.5.0",
+ "karma": "6.4.0",
+ "karma-chrome-launcher": "3.1.0",
+ "karma-coverage": "2.2.0",
+ "karma-jasmine": "5.1.0",
+ "karma-jasmine-html-reporter": "2.0.0",
+ "typescript": "5.3.3"
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/src/app.component.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/src/app.component.css
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/src/app.component.ts
new file mode 100644
index 00000000000..b0b165c56ff
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/src/app.component.ts
@@ -0,0 +1,124 @@
+import { NgModule } from '@angular/core'
+import { BrowserModule } from '@angular/platform-browser'
+import { PivotViewAllModule, PivotFieldListAllModule, PDFExportService, HyperlinkSettings } from '@syncfusion/ej2-angular-pivotview'
+import { Component, OnInit, ViewChild } from '@angular/core';
+import { IDataSet, PivotView } from '@syncfusion/ej2-angular-pivotview';
+import { Button } from '@syncfusion/ej2-buttons';
+import { employeeData } from './datasource';
+import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model';
+import { GridSettings } from '@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings';
+import { Observable } from 'rxjs';
+
+@Component({
+ imports: [
+ PivotViewAllModule,
+ PivotFieldListAllModule
+ ],
+ standalone: true,
+ selector: 'app-container',
+ template: `
+
+
+
+
Export
`,
+ providers: [PDFExportService],
+})
+export class AppComponent implements OnInit {
+ public width?: string;
+ public button?: Button;
+ public dataSourceSettings?: DataSourceSettingsModel;
+ public gridSettings?: GridSettings;
+ public observable = new Observable();
+ public cellTemplate?: string;
+ public hyperlinkSettings?: HyperlinkSettings;
+
+ @ViewChild('pivotview', { static: false })
+ public pivotGridObj?: PivotView;
+
+ ngOnInit(): void {
+ this.cellTemplate = '${getCellContent(data)}'
+
+ this.dataSourceSettings = {
+ dataSource: employeeData as IDataSet[],
+ rows: [{ name: 'FirstName' }, { name: 'EmployeeID', caption: 'Employee Image' }],
+ columns: [{ name: 'Title' }],
+ values: [{ name: 'Salary' }, { name: 'OrdersCount' }],
+ filterSettings: [
+ { name: 'Title', type: 'Include', items: ['Sales Representative'] }
+ ],
+ expandAll: true,
+ showSubTotals: false,
+ showRowGrandTotals: false
+ };
+
+ this.hyperlinkSettings = {
+ showRowHeaderHyperlink: true,
+ cssClass: 'e-custom-class'
+ } as HyperlinkSettings;
+
+ this.gridSettings = {
+ columnWidth: 140,
+ layout: 'Tabular',
+ pdfQueryCellInfo: this.observable.subscribe((args: any) => {
+ if (args.data && args.data.axis === 'row') {
+ if (args.data.valueSort && args.data.valueSort.axis === 'FirstName') {
+ const firstName: any = args.data.actualText;
+ const employee: any = employeeData.find((emp: any) => emp.FirstName === firstName);
+ if (employee && employee.EmailID) {
+ args.hyperLink = {
+ target: 'mailto:' + employee.EmailID,
+ displayText: args.value
+ };
+ }
+ }
+ if (args.data.valueSort && args.data.valueSort.axis === 'EmployeeID') {
+ const employeeId: any = Number(args.data.actualText);
+ const employee: any = employeeData.find((emp: any) => emp.EmployeeID === employeeId);
+ if (employee && employee.EmployeeImage) {
+ args.image = {
+ base64: employee.EmployeeImage,
+ height: 57.5,
+ width: 57.5
+ };
+ }
+ }
+ }
+ }) as any,
+ } as GridSettings;
+
+ this.button = new Button({ isPrimary: true });
+ this.button.appendTo('#export');
+
+ this.button.element.onclick = (): void => {
+ this.pivotGridObj?.pdfExport();
+ };
+
+ (<{ getCellContent?: Function }>window).getCellContent = (args: any): any => {
+ if (args.cellInfo && args.cellInfo.axis === 'row' && args.cellInfo.valueSort.axis === 'EmployeeID') {
+ let employeeId: number = Number(args.cellInfo.actualText);
+ // eslint-disable-next-line @typescript-eslint/tslint/config
+ let employee: { [key: string]: Object; } | any = employeeData.find(function (emp: any) { return emp.EmployeeID === employeeId; });
+ if (employee && employee.EmployeeImage) {
+ let imgSrc: string = 'data:image/png;base64,' + employee.EmployeeImage;
+ return '
';
+ }
+ }
+ return '';
+ };
+
+ (<{ handleImageLoad?: Function }>window).handleImageLoad = (imgElement: any): void => {
+ try {
+ const cell: HTMLElement = imgElement.closest('th, td');
+ if (cell) {
+ const cellValue: HTMLElement | any = cell.querySelector('.e-cellvalue');
+ if (cellValue) {
+ cellValue.style.display = 'none';
+ }
+ }
+ } catch (error) {
+ console.warn('Error handling image load:', error);
+ }
+ };
+ }
+}
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/src/datasource.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/src/datasource.ts
new file mode 100644
index 00000000000..8db52561a3e
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/src/datasource.ts
@@ -0,0 +1,128 @@
+export let employeeData: { [key: string]: Object }[] = [
+ {
+ EmployeeID: 1,
+ LastName: 'Davolio',
+ FirstName: 'Nancy',
+ EmailID: 'nancy@domain.com',
+ Title: 'Sales Representative',
+ Department: 'Sales',
+ Office: 'Seattle',
+ Salary: 720000,
+ SalesYTD: 1850000,
+ OrdersCount: 420,
+ EmployeeImage:
+ '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',
+ },
+ {
+ EmployeeID: 2,
+ LastName: 'Fuller',
+ FirstName: 'Andrew',
+ EmailID: 'andrew@domain.com',
+ Title: 'Vice President, Sales',
+ Department: 'Sales Management',
+ Office: 'Seattle',
+ Salary: 1200000,
+ SalesYTD: 2500000,
+ OrdersCount: 180,
+ EmployeeImage:
+ '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',
+ },
+ {
+ EmployeeID: 3,
+ LastName: 'Leverling',
+ FirstName: 'Janet',
+ EmailID: 'janet@domain.com',
+ Title: 'Sales Representative',
+ Department: 'Sales',
+ Office: 'Tacoma',
+ Salary: 680000,
+ SalesYTD: 1620000,
+ OrdersCount: 390,
+ EmployeeImage:
+ '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',
+ },
+ {
+ EmployeeID: 4,
+ LastName: 'Peacock',
+ FirstName: 'Margaret',
+ EmailID: 'margaret@domain.com',
+ Title: 'Sales Representative',
+ Department: 'Sales',
+ Office: 'Redmond',
+ Salary: 700000,
+ SalesYTD: 1735000,
+ OrdersCount: 405,
+ EmployeeImage:
+ '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',
+ },
+ {
+ EmployeeID: 5,
+ LastName: 'Buchanan',
+ FirstName: 'Steven',
+ EmailID: 'steven@domain.com',
+ Title: 'Sales Manager',
+ Department: 'Sales Management',
+ Office: 'Kirkland',
+ Salary: 950000,
+ SalesYTD: 2210000,
+ OrdersCount: 260,
+ EmployeeImage:
+ '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',
+ },
+ {
+ EmployeeID: 6,
+ LastName: 'Suyama',
+ FirstName: 'Michael',
+ EmailID: 'michael@domain.com',
+ Title: 'Sales Representative',
+ Department: 'Sales',
+ Office: 'Kirkland',
+ Salary: 660000,
+ SalesYTD: 1510000,
+ OrdersCount: 370,
+ EmployeeImage:
+ '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',
+ },
+ {
+ EmployeeID: 7,
+ LastName: 'King',
+ FirstName: 'Robert',
+ EmailID: 'robert@domain.com',
+ Title: 'Sales Representative',
+ Department: 'Sales',
+ Office: 'Seattle',
+ Salary: 690000,
+ SalesYTD: 1655000,
+ OrdersCount: 398,
+ EmployeeImage:
+ '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',
+ },
+ {
+ EmployeeID: 8,
+ LastName: 'Callahan',
+ FirstName: 'Laura',
+ EmailID: 'laura@domain.com',
+ Title: 'Inside Sales Coordinator',
+ Department: 'Sales Operations',
+ Office: 'Redmond',
+ Salary: 620000,
+ SalesYTD: 890000,
+ OrdersCount: 520,
+ EmployeeImage:
+ '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',
+ },
+ {
+ EmployeeID: 9,
+ LastName: 'Dodsworth',
+ FirstName: 'Anne',
+ EmailID: 'anne@domain.com',
+ Title: 'Sales Representative',
+ Department: 'Sales',
+ Office: 'Tacoma',
+ Salary: 670000,
+ SalesYTD: 1580000,
+ OrdersCount: 384,
+ EmployeeImage:
+ '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',
+ }
+];
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/src/main.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/src/main.ts
new file mode 100644
index 00000000000..3607237bd6e
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/src/main.ts
@@ -0,0 +1,4 @@
+import { bootstrapApplication } from '@angular/platform-browser';
+import { AppComponent } from './app.component';
+import 'zone.js';
+bootstrapApplication(AppComponent).catch((err) => console.error(err));
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/src/styles.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/src/styles.css
new file mode 100644
index 00000000000..47b514c6822
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/src/styles.css
@@ -0,0 +1,12 @@
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-calendars/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-grids/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-pivotview/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-base/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/tsconfig.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/tsconfig.json
new file mode 100644
index 00000000000..9fa16d6333c
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs336/tsconfig.json
@@ -0,0 +1,32 @@
+{
+ "compileOnSave": false,
+ "compilerOptions": {
+ "baseUrl": "./",
+ "outDir": "./dist/out-tsc",
+ "forceConsistentCasingInFileNames": true,
+ "strict": true,
+ "noImplicitOverride": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "sourceMap": true,
+ "declaration": false,
+ "downlevelIteration": true,
+ "experimentalDecorators": true,
+ "moduleResolution": "node",
+ "importHelpers": true,
+ "target": "ES2022",
+ "module": "ES2022",
+ "useDefineForClassFields": false,
+ "lib": [
+ "ES2022",
+ "dom"
+ ]
+ },
+ "angularCompilerOptions": {
+ "enableI18nLegacyMessageIdFormat": false,
+ "strictInjectionParameters": true,
+ "strictInputAccessModifiers": true,
+ "strictTemplates": true
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/angular.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/angular.json
new file mode 100644
index 00000000000..98b735ee4bb
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/angular.json
@@ -0,0 +1,70 @@
+{
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+ "version": 1,
+ "newProjectRoot": "projects",
+ "projects": {
+ "syncfusion-component": {
+ "projectType": "application",
+ "schematics": {},
+ "root": "",
+ "sourceRoot": "src",
+ "prefix": "app",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:browser",
+ "options": {
+ "outputPath": "dist",
+ "index": "index.html",
+ "main": "src/main.ts",
+ "tsConfig": "tsconfig.json",
+ "styles": [
+ "src/styles.css"
+ ],
+ "assets": []
+ },
+ "configurations": {
+ "production": {
+ "budgets": [
+ {
+ "type": "initial",
+ "maximumWarning": "500kb",
+ "maximumError": "10mb"
+ },
+ {
+ "type": "anyComponentStyle",
+ "maximumWarning": "2kb",
+ "maximumError": "4kb"
+ }
+ ],
+ "outputHashing": "all"
+ },
+ "development": {
+ "buildOptimizer": false,
+ "optimization": false,
+ "vendorChunk": true,
+ "extractLicenses": false,
+ "sourceMap": true,
+ "namedChunks": true
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "serve": {
+ "builder": "@angular-devkit/build-angular:dev-server",
+ "configurations": {
+ "production": {
+ "buildTarget": "syncfusion-component:build:production"
+ },
+ "development": {
+ "buildTarget": "syncfusion-component:build:development"
+ }
+ },
+ "defaultConfiguration": "development"
+ }
+ }
+ }
+ },
+ "cli": {
+ "analytics": false
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/index.html b/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/index.html
new file mode 100644
index 00000000000..3b3d9a50a3a
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/index.html
@@ -0,0 +1,38 @@
+
+
+
+
+
Syncfusion Angular Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
+
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/package.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/package.json
new file mode 100644
index 00000000000..9ab3ea20901
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/package.json
@@ -0,0 +1,51 @@
+{
+ "name": "syncfusion-component",
+ "version": "0.0.0",
+ "scripts": {
+ "ng": "ng",
+ "start": "ng serve",
+ "build": "ng build",
+ "watch": "ng build --watch --configuration development",
+ "test": "ng test"
+ },
+ "private": true,
+ "dependencies": {
+ "@angular/core": "17.1.2",
+ "@angular/platform-browser": "17.1.2",
+ "@angular/platform-browser-dynamic": "17.1.2",
+ "@syncfusion/ej2-angular-pivotview": "*",
+ "@syncfusion/ej2-base": "*",
+ "@syncfusion/ej2-buttons": "*",
+ "@syncfusion/ej2-dropdowns": "*",
+ "@syncfusion/ej2-grids": "*",
+ "@syncfusion/ej2-inputs": "*",
+ "@syncfusion/ej2-lists": "*",
+ "@syncfusion/ej2-navigations": "*",
+ "@syncfusion/ej2-popups": "*",
+ "@syncfusion/ej2-splitbuttons": "*",
+ "@syncfusion/ej2-angular-base": "*",
+ "@angular/animations": "17.1.2",
+ "@angular/common": "17.1.2",
+ "@angular/compiler": "17.1.2",
+ "@angular/forms": "17.1.2",
+ "@angular/router": "17.1.2",
+ "moment": "2.29.4",
+ "rxjs": "7.8.0",
+ "tslib": "2.3.0",
+ "zone.js": "0.14.3",
+ "@syncfusion/ej2-pivotview": "*"
+ },
+ "devDependencies": {
+ "@angular-devkit/build-angular": "17.1.2",
+ "@angular/cli": "17.1.2",
+ "@angular/compiler-cli": "17.1.2",
+ "@types/jasmine": "4.3.0",
+ "jasmine-core": "4.5.0",
+ "karma": "6.4.0",
+ "karma-chrome-launcher": "3.1.0",
+ "karma-coverage": "2.2.0",
+ "karma-jasmine": "5.1.0",
+ "karma-jasmine-html-reporter": "2.0.0",
+ "typescript": "5.3.3"
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/src/app.component.ts
new file mode 100644
index 00000000000..0513f397fc3
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/src/app.component.ts
@@ -0,0 +1,93 @@
+import { NgModule } from '@angular/core'
+import { BrowserModule } from '@angular/platform-browser'
+import { PivotViewAllModule, PivotFieldListAllModule, PDFExportService, AggregateTypes, FieldListService, SummaryTypes } from '@syncfusion/ej2-angular-pivotview'
+import { Component, OnInit, ViewChild } from '@angular/core';
+import { IDataSet, PivotView } from '@syncfusion/ej2-angular-pivotview';
+import { Button } from '@syncfusion/ej2-buttons';
+import { pivotData } from './datasource';
+import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model';
+import { L10n } from '@syncfusion/ej2-base';
+
+let SummaryType: string[] = [
+ 'Sum',
+ 'Count',
+ 'DistinctCount',
+ 'Avg',
+ 'CustomAggregateType1',
+ 'CustomAggregateType2',
+
+];
+
+@Component({
+ imports: [
+ PivotViewAllModule,
+ PivotFieldListAllModule
+ ],
+ standalone: true,
+ selector: 'app-container',
+ template: `
+
+
+
+
Export
`,
+ providers: [PDFExportService, FieldListService],
+})
+export class AppComponent implements OnInit {
+ public width?: string;
+ public button?: Button;
+ public dataSourceSettings?: DataSourceSettingsModel;
+
+ @ViewChild('pivotview', { static: false })
+ public pivotGridObj?: PivotView;
+
+ aggregateCellInfo(args: any) {
+ if (args.aggregateType === 'CustomAggregateType1') {
+ args.value = args.value * 100;
+ }
+ if (args.aggregateType === 'CustomAggregateType2') {
+ args.value = args.value / 100;
+ }
+ }
+
+ dataBound(): void {
+ (this.pivotGridObj as any).getAllSummaryType = function () {
+ return SummaryType as AggregateTypes[];
+ };
+ (this.pivotGridObj as any).pivotFieldListModule.aggregateTypes = SummaryType as AggregateTypes[];
+ (this.pivotGridObj as any).pivotFieldListModule.getAllSummaryType = function () {
+ return SummaryType as AggregateTypes[];
+ };
+ }
+
+ ngOnInit(): void {
+ L10n.load({
+ 'en-US': {
+ pivotview: {
+ CustomAggregateType1: 'Custom Aggregate Type 1',
+ CustomAggregateType2: 'Custom Aggregate Type 2',
+ },
+ pivotfieldlist: {
+ CustomAggregateType1: 'Custom Aggregate Type 1',
+ CustomAggregateType2: 'Custom Aggregate Type 2',
+ }
+ }
+ });
+
+ this.dataSourceSettings = {
+ dataSource: pivotData as IDataSet[],
+ columns: [{ name: 'Year' }],
+ values: [{ name: 'Sold', type: 'CustomAggregateType1' as SummaryTypes }, { name: 'Amount', type: 'CustomAggregateType2' as SummaryTypes }],
+ rows: [{ name: 'Country' }, { name: 'Products' }],
+ formatSettings: [{ name: 'Amount', format: 'C0' }],
+ };
+
+ this.button = new Button({ isPrimary: true });
+ this.button.appendTo('#export');
+
+ this.button.element.onclick = (): void => {
+ this.pivotGridObj?.pdfExport();
+ };
+ }
+}
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/src/datasource.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/src/datasource.ts
new file mode 100644
index 00000000000..e65eb85ce64
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/src/datasource.ts
@@ -0,0 +1,1250 @@
+export let pivotData: Object[] = [
+ {
+ Sold: 25,
+ Amount: 42600,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 27,
+ Amount: 46008,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 49,
+ Amount: 83496,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 31,
+ Amount: 52824,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 51,
+ Amount: 86904,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 90,
+ Amount: 153360,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 95,
+ Amount: 161880,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 67,
+ Amount: 114168,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 90,
+ Amount: 153360,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 67,
+ Amount: 114168,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 93,
+ Amount: 139412,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 35,
+ Amount: 52470,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 16,
+ Amount: 27264,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 69,
+ Amount: 117576,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 75,
+ Amount: 127800,
+ Country: 'France',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 20,
+ Amount: 29985,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 83,
+ Amount: 124422,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 16,
+ Amount: 23989,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 28,
+ Amount: 41977,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 48,
+ Amount: 71957,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 57,
+ Amount: 85448,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 25,
+ Amount: 37480,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 69,
+ Amount: 103436,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 36,
+ Amount: 53969,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 75,
+ Amount: 119662.5,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 28,
+ Amount: 41977,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 19,
+ Amount: 28486,
+ Country: 'France',
+ Products: 'Road Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 91,
+ Amount: 145190.5,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 24,
+ Amount: 38292,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 94,
+ Amount: 149977,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 100,
+ Amount: 159550,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 30,
+ Amount: 47865,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 89,
+ Amount: 141999.5,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 25,
+ Amount: 39887.5,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 42,
+ Amount: 67011,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 21,
+ Amount: 33505.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 74,
+ Amount: 126096,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 76,
+ Amount: 121258,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 69,
+ Amount: 110089.5,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 16,
+ Amount: 23989,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 52,
+ Amount: 82966,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 85,
+ Amount: 144840,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 99,
+ Amount: 148406,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 31,
+ Amount: 49460.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 33,
+ Amount: 52651.5,
+ Country: 'France',
+ Products: 'Touring Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 41,
+ Amount: 61464,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 64,
+ Amount: 102112,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 57,
+ Amount: 97128,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 39,
+ Amount: 66456,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 76,
+ Amount: 129504,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 33,
+ Amount: 56232,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 81,
+ Amount: 138024,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 65,
+ Amount: 110760,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 47,
+ Amount: 70458,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 91,
+ Amount: 155064,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 16,
+ Amount: 27264,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 71,
+ Amount: 120984,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 36,
+ Amount: 61344,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 39,
+ Amount: 58466,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 59,
+ Amount: 100536,
+ Country: 'Germany',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 83,
+ Amount: 124422,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 19,
+ Amount: 28486,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 34,
+ Amount: 50971,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 26,
+ Amount: 38979,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 15,
+ Amount: 22490,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 13,
+ Amount: 20741.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 79,
+ Amount: 118426,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 14,
+ Amount: 20991,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 34,
+ Amount: 50971,
+ Country: 'Germany',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 47,
+ Amount: 74988.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 93,
+ Amount: 148381.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 15,
+ Amount: 23932.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 48,
+ Amount: 76584,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 44,
+ Amount: 70202,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 59,
+ Amount: 94134.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 77,
+ Amount: 131208,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 84,
+ Amount: 143136,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 34,
+ Amount: 54247,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 56,
+ Amount: 95424,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 35,
+ Amount: 55842.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 71,
+ Amount: 113280.5,
+ Country: 'Germany',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 91,
+ Amount: 155064,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 90,
+ Amount: 153360,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 40,
+ Amount: 68160,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 24,
+ Amount: 40896,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 31,
+ Amount: 46474,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 92,
+ Amount: 156768,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 14,
+ Amount: 23856,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 95,
+ Amount: 161880,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 51,
+ Amount: 86904,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 39,
+ Amount: 66456,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 36,
+ Amount: 53969,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 86,
+ Amount: 128919,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 40,
+ Amount: 59965,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 96,
+ Amount: 163584,
+ Country: 'United Kingdom',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 24,
+ Amount: 35981,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 97,
+ Amount: 145408,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 69,
+ Amount: 103436,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 95,
+ Amount: 142410,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 30,
+ Amount: 44975,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 11,
+ Amount: 16494,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 95,
+ Amount: 142410,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 11,
+ Amount: 16494,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 27,
+ Amount: 40478,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 68,
+ Amount: 101937,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 100,
+ Amount: 149905,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 45,
+ Amount: 67460,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 16,
+ Amount: 23989,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 40,
+ Amount: 59965,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 18,
+ Amount: 26987,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 70,
+ Amount: 104935,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 43,
+ Amount: 73272,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 43,
+ Amount: 73272,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 83,
+ Amount: 124422,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 52,
+ Amount: 88608,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 91,
+ Amount: 155064,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 100,
+ Amount: 149905,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 70,
+ Amount: 104935,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 37,
+ Amount: 63048,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 41,
+ Amount: 69864,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 99,
+ Amount: 148406,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 67,
+ Amount: 114168,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 41,
+ Amount: 65415.5,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 81,
+ Amount: 121424,
+ Country: 'United States',
+ Products: 'Road Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 20,
+ Amount: 29985,
+ Country: 'United Kingdom',
+ Products: 'Road Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 85,
+ Amount: 144840,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 49,
+ Amount: 83496,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 23,
+ Amount: 39192,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 34,
+ Amount: 54247,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 53,
+ Amount: 90312,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 82,
+ Amount: 130831,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 60,
+ Amount: 95730,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 71,
+ Amount: 113280.5,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 25,
+ Amount: 42600,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 28,
+ Amount: 47712,
+ Country: 'United States',
+ Products: 'Mountain Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 21,
+ Amount: 33505.5,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 94,
+ Amount: 149977,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 45,
+ Amount: 71797.5,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2015',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 75,
+ Amount: 119662.5,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 49,
+ Amount: 78179.5,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 50,
+ Amount: 79775,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 56,
+ Amount: 89348,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 40,
+ Amount: 63820,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 14,
+ Amount: 22337,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 76,
+ Amount: 121258,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 75,
+ Amount: 119662.5,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 11,
+ Amount: 17550.5,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q2',
+ },
+ {
+ Sold: 94,
+ Amount: 149977,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 80,
+ Amount: 127640,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 54,
+ Amount: 86157,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 14,
+ Amount: 22337,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q3',
+ },
+ {
+ Sold: 17,
+ Amount: 27123.5,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2016',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 45,
+ Amount: 71797.5,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 76,
+ Amount: 121258,
+ Country: 'United States',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+ {
+ Sold: 45,
+ Amount: 71797.5,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2018',
+ Quarter: 'Q1',
+ },
+ {
+ Sold: 11,
+ Amount: 17550.5,
+ Country: 'United Kingdom',
+ Products: 'Touring Bikes',
+ Year: 'FY 2017',
+ Quarter: 'Q4',
+ },
+];
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/src/main.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/src/main.ts
new file mode 100644
index 00000000000..3607237bd6e
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/src/main.ts
@@ -0,0 +1,4 @@
+import { bootstrapApplication } from '@angular/platform-browser';
+import { AppComponent } from './app.component';
+import 'zone.js';
+bootstrapApplication(AppComponent).catch((err) => console.error(err));
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/src/styles.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/src/styles.css
new file mode 100644
index 00000000000..47b514c6822
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/src/styles.css
@@ -0,0 +1,12 @@
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-calendars/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-grids/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-pivotview/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-base/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/tsconfig.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/tsconfig.json
new file mode 100644
index 00000000000..9fa16d6333c
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs337/tsconfig.json
@@ -0,0 +1,32 @@
+{
+ "compileOnSave": false,
+ "compilerOptions": {
+ "baseUrl": "./",
+ "outDir": "./dist/out-tsc",
+ "forceConsistentCasingInFileNames": true,
+ "strict": true,
+ "noImplicitOverride": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "sourceMap": true,
+ "declaration": false,
+ "downlevelIteration": true,
+ "experimentalDecorators": true,
+ "moduleResolution": "node",
+ "importHelpers": true,
+ "target": "ES2022",
+ "module": "ES2022",
+ "useDefineForClassFields": false,
+ "lib": [
+ "ES2022",
+ "dom"
+ ]
+ },
+ "angularCompilerOptions": {
+ "enableI18nLegacyMessageIdFormat": false,
+ "strictInjectionParameters": true,
+ "strictInputAccessModifiers": true,
+ "strictTemplates": true
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/angular.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/angular.json
new file mode 100644
index 00000000000..98b735ee4bb
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/angular.json
@@ -0,0 +1,70 @@
+{
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+ "version": 1,
+ "newProjectRoot": "projects",
+ "projects": {
+ "syncfusion-component": {
+ "projectType": "application",
+ "schematics": {},
+ "root": "",
+ "sourceRoot": "src",
+ "prefix": "app",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:browser",
+ "options": {
+ "outputPath": "dist",
+ "index": "index.html",
+ "main": "src/main.ts",
+ "tsConfig": "tsconfig.json",
+ "styles": [
+ "src/styles.css"
+ ],
+ "assets": []
+ },
+ "configurations": {
+ "production": {
+ "budgets": [
+ {
+ "type": "initial",
+ "maximumWarning": "500kb",
+ "maximumError": "10mb"
+ },
+ {
+ "type": "anyComponentStyle",
+ "maximumWarning": "2kb",
+ "maximumError": "4kb"
+ }
+ ],
+ "outputHashing": "all"
+ },
+ "development": {
+ "buildOptimizer": false,
+ "optimization": false,
+ "vendorChunk": true,
+ "extractLicenses": false,
+ "sourceMap": true,
+ "namedChunks": true
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "serve": {
+ "builder": "@angular-devkit/build-angular:dev-server",
+ "configurations": {
+ "production": {
+ "buildTarget": "syncfusion-component:build:production"
+ },
+ "development": {
+ "buildTarget": "syncfusion-component:build:development"
+ }
+ },
+ "defaultConfiguration": "development"
+ }
+ }
+ }
+ },
+ "cli": {
+ "analytics": false
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/index.html b/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/index.html
new file mode 100644
index 00000000000..3b3d9a50a3a
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/index.html
@@ -0,0 +1,38 @@
+
+
+
+
+
Syncfusion Angular Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
+
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/package.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/package.json
new file mode 100644
index 00000000000..9ab3ea20901
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/package.json
@@ -0,0 +1,51 @@
+{
+ "name": "syncfusion-component",
+ "version": "0.0.0",
+ "scripts": {
+ "ng": "ng",
+ "start": "ng serve",
+ "build": "ng build",
+ "watch": "ng build --watch --configuration development",
+ "test": "ng test"
+ },
+ "private": true,
+ "dependencies": {
+ "@angular/core": "17.1.2",
+ "@angular/platform-browser": "17.1.2",
+ "@angular/platform-browser-dynamic": "17.1.2",
+ "@syncfusion/ej2-angular-pivotview": "*",
+ "@syncfusion/ej2-base": "*",
+ "@syncfusion/ej2-buttons": "*",
+ "@syncfusion/ej2-dropdowns": "*",
+ "@syncfusion/ej2-grids": "*",
+ "@syncfusion/ej2-inputs": "*",
+ "@syncfusion/ej2-lists": "*",
+ "@syncfusion/ej2-navigations": "*",
+ "@syncfusion/ej2-popups": "*",
+ "@syncfusion/ej2-splitbuttons": "*",
+ "@syncfusion/ej2-angular-base": "*",
+ "@angular/animations": "17.1.2",
+ "@angular/common": "17.1.2",
+ "@angular/compiler": "17.1.2",
+ "@angular/forms": "17.1.2",
+ "@angular/router": "17.1.2",
+ "moment": "2.29.4",
+ "rxjs": "7.8.0",
+ "tslib": "2.3.0",
+ "zone.js": "0.14.3",
+ "@syncfusion/ej2-pivotview": "*"
+ },
+ "devDependencies": {
+ "@angular-devkit/build-angular": "17.1.2",
+ "@angular/cli": "17.1.2",
+ "@angular/compiler-cli": "17.1.2",
+ "@types/jasmine": "4.3.0",
+ "jasmine-core": "4.5.0",
+ "karma": "6.4.0",
+ "karma-chrome-launcher": "3.1.0",
+ "karma-coverage": "2.2.0",
+ "karma-jasmine": "5.1.0",
+ "karma-jasmine-html-reporter": "2.0.0",
+ "typescript": "5.3.3"
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/src/app.component.ts
new file mode 100644
index 00000000000..70319ef615b
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/src/app.component.ts
@@ -0,0 +1,51 @@
+import { PivotViewAllModule, PivotFieldListAllModule, PDFExportService, FieldListService } from '@syncfusion/ej2-angular-pivotview'
+import { Component, OnInit, ViewChild } from '@angular/core';
+import { IDataSet, PivotView } from '@syncfusion/ej2-angular-pivotview';
+import { Button } from '@syncfusion/ej2-buttons';
+import { Group_Data } from './datasource';
+import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model';
+
+@Component({
+ imports: [
+ PivotViewAllModule,
+ PivotFieldListAllModule
+ ],
+ standalone: true,
+ selector: 'app-container',
+ template: `
+
+
+
+
Export
`,
+ providers: [PDFExportService, FieldListService],
+})
+export class AppComponent implements OnInit {
+ public width?: string;
+ public button?: Button;
+ public dataSourceSettings?: DataSourceSettingsModel;
+
+ @ViewChild('pivotview', { static: false })
+ public pivotGridObj?: PivotView;
+
+ ngOnInit(): void {
+
+ this.dataSourceSettings = {
+ dataSource: Group_Data as IDataSet[],
+ expandAll: false,
+ enableSorting: true,
+ formatSettings: [{ name: 'Date', type: 'date', format: "EEE, MMM d, ''yy" }],
+ rows: [{ name: 'Date' }],
+ columns: [{ name: 'Product_Categories', caption: 'Product Categories' }],
+ values: [{ name: 'Sold', caption: 'Unit Sold' },
+ { name: 'Amount', caption: 'Sold Amount' }],
+ };
+
+ this.button = new Button({ isPrimary: true });
+ this.button.appendTo('#export');
+
+ this.button.element.onclick = (): void => {
+ this.pivotGridObj?.pdfExport();
+ };
+ }
+}
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/src/datasource.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/src/datasource.ts
new file mode 100644
index 00000000000..fb20f15615f
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/src/datasource.ts
@@ -0,0 +1,208 @@
+let gData: Object[] = [
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1001,
+ 'Sold': 2
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1002,
+ 'Sold': 3
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1003,
+ 'Sold': 5
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1004,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1005,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1007,
+ 'Sold': 2
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1008,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '1/1/2015 20:18:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1009,
+ 'Sold': 3
+
+ },
+ {
+ 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1003,
+ 'Sold': 3
+ },
+ {
+ 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1002,
+ 'Sold': 4
+
+ },
+ {
+ 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1002,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1004,
+ 'Sold': 3
+ },
+ {
+ 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1005,
+ 'Sold': 2
+
+ },
+ {
+ 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1006,
+ 'Sold': 4
+
+ },
+ {
+ 'Date': '1/5/2015 20:19:15 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1008,
+ 'Sold': 8
+ },
+ {
+ 'Date': '2/2/2015 10:22:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1009,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '2/10/2015 10:23:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1010,
+ 'Sold': 6
+
+ },
+ {
+ 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1002,
+ 'Sold': 8
+ },
+ {
+ 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1002,
+ 'Sold': 8
+ },
+ {
+ 'Date': '2/20/2015 11:25:07 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1002,
+ 'Sold': 8
+ },
+ {
+ 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1001,
+ 'Sold': 4
+ },
+ {
+ 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1001,
+ 'Sold': 4
+ },
+ {
+ 'Date': '3/07/2015 05:11:50 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1001,
+ 'Sold': 4
+
+ },
+ {
+ 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1005,
+ 'Sold': 2
+ },
+ {
+ 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1005,
+ 'Sold': 2
+ },
+ {
+ 'Date': '3/13/2015 05:11:55 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1005,
+ 'Sold': 2
+ },
+ {
+ 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Bikes',
+ 'Product_ID': 1004,
+ 'Sold': 1
+
+ },
+ {
+ 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Clothings',
+ 'Product_ID': 1010,
+ 'Sold': 2
+ },
+ {
+ 'Date': '9/1/2015 04:14:43 GMT+0530 (India Standard Time)',
+ 'Product_Categories': 'Accessories',
+ 'Product_ID': 1004,
+ 'Sold': 1
+ },
+];
+
+export let Group_Data: Object[] = getGroupData(gData);
+
+function getGroupData(data: any): Object[] {
+ let date: Date;
+ let products: string[] = ['Bottles and Cages', 'Cleaners', 'Fenders', 'Mountain Bikes', 'Road Bikes', 'Touring Bikes', 'Gloves', 'Jerseys', 'Shorts', 'Vests'];
+ let amount: number[] = [0, 2, 3, 8, 60, 75, 65, 3, 5, 4, 2]
+ for (let ln: number = 0, lt: number = data.length; ln < lt; ln++) {
+ date = new Date(data[ln].Date.toString());
+ data[ln].Date = date.toString();
+ data[ln].Products = products[data[ln].Product_ID - 1000];
+ data[ln].Sold = data[ln].Sold * (date.getFullYear() === 2015 ? 3 : date.getFullYear() === 2016 ? 4 : date.getFullYear() === 2017 ? 2 : 5);
+ data[ln].Amount = ((date.getFullYear() === 2018 ? 2 : 0) + data[ln].Sold) * amount[data[ln].Product_ID - 1000];
+ }
+ return data as Object[];
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/src/main.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/src/main.ts
new file mode 100644
index 00000000000..3607237bd6e
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/src/main.ts
@@ -0,0 +1,4 @@
+import { bootstrapApplication } from '@angular/platform-browser';
+import { AppComponent } from './app.component';
+import 'zone.js';
+bootstrapApplication(AppComponent).catch((err) => console.error(err));
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/src/styles.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/src/styles.css
new file mode 100644
index 00000000000..47b514c6822
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/src/styles.css
@@ -0,0 +1,12 @@
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-calendars/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-grids/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-pivotview/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-base/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/tsconfig.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/tsconfig.json
new file mode 100644
index 00000000000..9fa16d6333c
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs338/tsconfig.json
@@ -0,0 +1,32 @@
+{
+ "compileOnSave": false,
+ "compilerOptions": {
+ "baseUrl": "./",
+ "outDir": "./dist/out-tsc",
+ "forceConsistentCasingInFileNames": true,
+ "strict": true,
+ "noImplicitOverride": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "sourceMap": true,
+ "declaration": false,
+ "downlevelIteration": true,
+ "experimentalDecorators": true,
+ "moduleResolution": "node",
+ "importHelpers": true,
+ "target": "ES2022",
+ "module": "ES2022",
+ "useDefineForClassFields": false,
+ "lib": [
+ "ES2022",
+ "dom"
+ ]
+ },
+ "angularCompilerOptions": {
+ "enableI18nLegacyMessageIdFormat": false,
+ "strictInjectionParameters": true,
+ "strictInputAccessModifiers": true,
+ "strictTemplates": true
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/angular.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/angular.json
new file mode 100644
index 00000000000..98b735ee4bb
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/angular.json
@@ -0,0 +1,70 @@
+{
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+ "version": 1,
+ "newProjectRoot": "projects",
+ "projects": {
+ "syncfusion-component": {
+ "projectType": "application",
+ "schematics": {},
+ "root": "",
+ "sourceRoot": "src",
+ "prefix": "app",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:browser",
+ "options": {
+ "outputPath": "dist",
+ "index": "index.html",
+ "main": "src/main.ts",
+ "tsConfig": "tsconfig.json",
+ "styles": [
+ "src/styles.css"
+ ],
+ "assets": []
+ },
+ "configurations": {
+ "production": {
+ "budgets": [
+ {
+ "type": "initial",
+ "maximumWarning": "500kb",
+ "maximumError": "10mb"
+ },
+ {
+ "type": "anyComponentStyle",
+ "maximumWarning": "2kb",
+ "maximumError": "4kb"
+ }
+ ],
+ "outputHashing": "all"
+ },
+ "development": {
+ "buildOptimizer": false,
+ "optimization": false,
+ "vendorChunk": true,
+ "extractLicenses": false,
+ "sourceMap": true,
+ "namedChunks": true
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "serve": {
+ "builder": "@angular-devkit/build-angular:dev-server",
+ "configurations": {
+ "production": {
+ "buildTarget": "syncfusion-component:build:production"
+ },
+ "development": {
+ "buildTarget": "syncfusion-component:build:development"
+ }
+ },
+ "defaultConfiguration": "development"
+ }
+ }
+ }
+ },
+ "cli": {
+ "analytics": false
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/index.html b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/index.html
new file mode 100644
index 00000000000..300331aaac7
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/index.html
@@ -0,0 +1,98 @@
+
+
+
+
Syncfusion Angular Pivot Grid
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/package.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/package.json
new file mode 100644
index 00000000000..9ab3ea20901
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/package.json
@@ -0,0 +1,51 @@
+{
+ "name": "syncfusion-component",
+ "version": "0.0.0",
+ "scripts": {
+ "ng": "ng",
+ "start": "ng serve",
+ "build": "ng build",
+ "watch": "ng build --watch --configuration development",
+ "test": "ng test"
+ },
+ "private": true,
+ "dependencies": {
+ "@angular/core": "17.1.2",
+ "@angular/platform-browser": "17.1.2",
+ "@angular/platform-browser-dynamic": "17.1.2",
+ "@syncfusion/ej2-angular-pivotview": "*",
+ "@syncfusion/ej2-base": "*",
+ "@syncfusion/ej2-buttons": "*",
+ "@syncfusion/ej2-dropdowns": "*",
+ "@syncfusion/ej2-grids": "*",
+ "@syncfusion/ej2-inputs": "*",
+ "@syncfusion/ej2-lists": "*",
+ "@syncfusion/ej2-navigations": "*",
+ "@syncfusion/ej2-popups": "*",
+ "@syncfusion/ej2-splitbuttons": "*",
+ "@syncfusion/ej2-angular-base": "*",
+ "@angular/animations": "17.1.2",
+ "@angular/common": "17.1.2",
+ "@angular/compiler": "17.1.2",
+ "@angular/forms": "17.1.2",
+ "@angular/router": "17.1.2",
+ "moment": "2.29.4",
+ "rxjs": "7.8.0",
+ "tslib": "2.3.0",
+ "zone.js": "0.14.3",
+ "@syncfusion/ej2-pivotview": "*"
+ },
+ "devDependencies": {
+ "@angular-devkit/build-angular": "17.1.2",
+ "@angular/cli": "17.1.2",
+ "@angular/compiler-cli": "17.1.2",
+ "@types/jasmine": "4.3.0",
+ "jasmine-core": "4.5.0",
+ "karma": "6.4.0",
+ "karma-chrome-launcher": "3.1.0",
+ "karma-coverage": "2.2.0",
+ "karma-jasmine": "5.1.0",
+ "karma-jasmine-html-reporter": "2.0.0",
+ "typescript": "5.3.3"
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/src/app.component.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/src/app.component.css
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/src/app.component.ts
new file mode 100644
index 00000000000..ce36e8bded6
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/src/app.component.ts
@@ -0,0 +1,73 @@
+import { NgModule } from '@angular/core'
+import { BrowserModule } from '@angular/platform-browser'
+import { PivotViewAllModule, PivotFieldListAllModule, PDFExportService } from '@syncfusion/ej2-angular-pivotview'
+import { Component, OnInit, ViewChild } from '@angular/core';
+import { IDataSet, PivotView } from '@syncfusion/ej2-angular-pivotview';
+import { Button } from '@syncfusion/ej2-buttons';
+import { pivotData } from './datasource';
+import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model';
+import { GridSettings } from '@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings';
+import { Observable } from 'rxjs';
+
+@Component({
+ imports: [
+ PivotViewAllModule,
+ PivotFieldListAllModule
+ ],
+ standalone: true,
+ selector: 'app-container',
+ template: `
+
+
+
Export
`,
+ providers: [PDFExportService],
+})
+export class AppComponent implements OnInit {
+ public width?: string;
+ public button?: Button;
+ public dataSourceSettings?: DataSourceSettingsModel;
+ public gridSettings?: GridSettings;
+ public observable = new Observable();
+
+ @ViewChild('pivotview', { static: false })
+ public pivotGridObj?: PivotView;
+
+ ngOnInit(): void {
+ this.dataSourceSettings = {
+ dataSource: pivotData as IDataSet[],
+ expandAll: false,
+ columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }],
+ values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }],
+ rows: [{ name: 'Country' }, { name: 'Products' }],
+ };
+
+ this.gridSettings = {
+ columnWidth: 140,
+ pdfQueryCellInfo: this.observable.subscribe((args: any) => {
+ if (args.data && args.data.actualText === 'Sold') {
+ if ((args as any).value < 700) {
+ args.style = {
+ backgroundColor: '#df3800',
+ fontFamily: 'Courier',
+ textPenColor: '#FFFFFF'
+ };
+ } else {
+ args.style = {
+ backgroundColor: '#00A45A',
+ fontFamily: 'TimesRoman',
+ textPenColor: '#FFFFFF'
+ };
+ }
+ }
+ }) as any,
+ } as GridSettings;
+
+ this.button = new Button({ isPrimary: true });
+ this.button.appendTo('#export');
+
+ this.button.element.onclick = (): void => {
+ this.pivotGridObj?.pdfExport();
+ };
+ }
+}
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/src/datasource.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/src/datasource.ts
new file mode 100644
index 00000000000..866e0c34108
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/src/datasource.ts
@@ -0,0 +1,157 @@
+export let pivotData: Object[] = [
+ { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }];
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/src/main.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/src/main.ts
new file mode 100644
index 00000000000..3607237bd6e
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/src/main.ts
@@ -0,0 +1,4 @@
+import { bootstrapApplication } from '@angular/platform-browser';
+import { AppComponent } from './app.component';
+import 'zone.js';
+bootstrapApplication(AppComponent).catch((err) => console.error(err));
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/src/styles.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/src/styles.css
new file mode 100644
index 00000000000..47b514c6822
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/src/styles.css
@@ -0,0 +1,12 @@
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-calendars/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-grids/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-pivotview/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-base/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/tsconfig.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/tsconfig.json
new file mode 100644
index 00000000000..9fa16d6333c
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs339/tsconfig.json
@@ -0,0 +1,32 @@
+{
+ "compileOnSave": false,
+ "compilerOptions": {
+ "baseUrl": "./",
+ "outDir": "./dist/out-tsc",
+ "forceConsistentCasingInFileNames": true,
+ "strict": true,
+ "noImplicitOverride": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "sourceMap": true,
+ "declaration": false,
+ "downlevelIteration": true,
+ "experimentalDecorators": true,
+ "moduleResolution": "node",
+ "importHelpers": true,
+ "target": "ES2022",
+ "module": "ES2022",
+ "useDefineForClassFields": false,
+ "lib": [
+ "ES2022",
+ "dom"
+ ]
+ },
+ "angularCompilerOptions": {
+ "enableI18nLegacyMessageIdFormat": false,
+ "strictInjectionParameters": true,
+ "strictInputAccessModifiers": true,
+ "strictTemplates": true
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/angular.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/angular.json
new file mode 100644
index 00000000000..98b735ee4bb
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/angular.json
@@ -0,0 +1,70 @@
+{
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+ "version": 1,
+ "newProjectRoot": "projects",
+ "projects": {
+ "syncfusion-component": {
+ "projectType": "application",
+ "schematics": {},
+ "root": "",
+ "sourceRoot": "src",
+ "prefix": "app",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:browser",
+ "options": {
+ "outputPath": "dist",
+ "index": "index.html",
+ "main": "src/main.ts",
+ "tsConfig": "tsconfig.json",
+ "styles": [
+ "src/styles.css"
+ ],
+ "assets": []
+ },
+ "configurations": {
+ "production": {
+ "budgets": [
+ {
+ "type": "initial",
+ "maximumWarning": "500kb",
+ "maximumError": "10mb"
+ },
+ {
+ "type": "anyComponentStyle",
+ "maximumWarning": "2kb",
+ "maximumError": "4kb"
+ }
+ ],
+ "outputHashing": "all"
+ },
+ "development": {
+ "buildOptimizer": false,
+ "optimization": false,
+ "vendorChunk": true,
+ "extractLicenses": false,
+ "sourceMap": true,
+ "namedChunks": true
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "serve": {
+ "builder": "@angular-devkit/build-angular:dev-server",
+ "configurations": {
+ "production": {
+ "buildTarget": "syncfusion-component:build:production"
+ },
+ "development": {
+ "buildTarget": "syncfusion-component:build:development"
+ }
+ },
+ "defaultConfiguration": "development"
+ }
+ }
+ }
+ },
+ "cli": {
+ "analytics": false
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/index.html b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/index.html
new file mode 100644
index 00000000000..300331aaac7
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/index.html
@@ -0,0 +1,98 @@
+
+
+
+
Syncfusion Angular Pivot Grid
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/package.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/package.json
new file mode 100644
index 00000000000..9ab3ea20901
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/package.json
@@ -0,0 +1,51 @@
+{
+ "name": "syncfusion-component",
+ "version": "0.0.0",
+ "scripts": {
+ "ng": "ng",
+ "start": "ng serve",
+ "build": "ng build",
+ "watch": "ng build --watch --configuration development",
+ "test": "ng test"
+ },
+ "private": true,
+ "dependencies": {
+ "@angular/core": "17.1.2",
+ "@angular/platform-browser": "17.1.2",
+ "@angular/platform-browser-dynamic": "17.1.2",
+ "@syncfusion/ej2-angular-pivotview": "*",
+ "@syncfusion/ej2-base": "*",
+ "@syncfusion/ej2-buttons": "*",
+ "@syncfusion/ej2-dropdowns": "*",
+ "@syncfusion/ej2-grids": "*",
+ "@syncfusion/ej2-inputs": "*",
+ "@syncfusion/ej2-lists": "*",
+ "@syncfusion/ej2-navigations": "*",
+ "@syncfusion/ej2-popups": "*",
+ "@syncfusion/ej2-splitbuttons": "*",
+ "@syncfusion/ej2-angular-base": "*",
+ "@angular/animations": "17.1.2",
+ "@angular/common": "17.1.2",
+ "@angular/compiler": "17.1.2",
+ "@angular/forms": "17.1.2",
+ "@angular/router": "17.1.2",
+ "moment": "2.29.4",
+ "rxjs": "7.8.0",
+ "tslib": "2.3.0",
+ "zone.js": "0.14.3",
+ "@syncfusion/ej2-pivotview": "*"
+ },
+ "devDependencies": {
+ "@angular-devkit/build-angular": "17.1.2",
+ "@angular/cli": "17.1.2",
+ "@angular/compiler-cli": "17.1.2",
+ "@types/jasmine": "4.3.0",
+ "jasmine-core": "4.5.0",
+ "karma": "6.4.0",
+ "karma-chrome-launcher": "3.1.0",
+ "karma-coverage": "2.2.0",
+ "karma-jasmine": "5.1.0",
+ "karma-jasmine-html-reporter": "2.0.0",
+ "typescript": "5.3.3"
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/src/app.component.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/src/app.component.css
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/src/app.component.ts
new file mode 100644
index 00000000000..ef9a55e7fc9
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/src/app.component.ts
@@ -0,0 +1,58 @@
+import { NgModule } from '@angular/core'
+import { BrowserModule } from '@angular/platform-browser'
+import { PivotViewAllModule, PivotFieldListAllModule, PDFExportService, PdfExportProperties } from '@syncfusion/ej2-angular-pivotview'
+import { Component, OnInit, ViewChild } from '@angular/core';
+import { IDataSet, PivotView } from '@syncfusion/ej2-angular-pivotview';
+import { Button } from '@syncfusion/ej2-buttons';
+import { pivotData } from './datasource';
+import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model';
+import { GridSettings } from '@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings';
+import { Observable } from 'rxjs';
+
+@Component({
+ imports: [
+ PivotViewAllModule,
+ PivotFieldListAllModule
+ ],
+ standalone: true,
+ selector: 'app-container',
+ template: `
+
+
+
Export
`,
+ providers: [PDFExportService],
+})
+export class AppComponent implements OnInit {
+ public width?: string;
+ public button?: Button;
+ public dataSourceSettings?: DataSourceSettingsModel;
+ public gridSettings?: GridSettings;
+
+ @ViewChild('pivotview', { static: false })
+ public pivotGridObj?: PivotView;
+
+ ngOnInit(): void {
+ this.dataSourceSettings = {
+ dataSource: pivotData as IDataSet[],
+ expandAll: false,
+ columns: [{ name: 'Year', caption: 'Production Year' }, { name: 'Quarter' }],
+ values: [{ name: 'Sold', caption: 'Units Sold' }, { name: 'Amount', caption: 'Sold Amount' }],
+ rows: [{ name: 'Country' }, { name: 'Products' }],
+ };
+
+ this.gridSettings = {
+ columnWidth: 140,
+ } as GridSettings;
+
+ this.button = new Button({ isPrimary: true });
+ this.button.appendTo('#export');
+
+ this.button.element.onclick = (): void => {
+ let pdfExportProperties: PdfExportProperties = {
+ allowHorizontalOverflow: true
+ };
+ this.pivotGridObj?.pdfExport(pdfExportProperties);
+ };
+ }
+}
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/src/datasource.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/src/datasource.ts
new file mode 100644
index 00000000000..866e0c34108
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/src/datasource.ts
@@ -0,0 +1,157 @@
+export let pivotData: Object[] = [
+ { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }];
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/src/main.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/src/main.ts
new file mode 100644
index 00000000000..3607237bd6e
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/src/main.ts
@@ -0,0 +1,4 @@
+import { bootstrapApplication } from '@angular/platform-browser';
+import { AppComponent } from './app.component';
+import 'zone.js';
+bootstrapApplication(AppComponent).catch((err) => console.error(err));
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/src/styles.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/src/styles.css
new file mode 100644
index 00000000000..47b514c6822
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/src/styles.css
@@ -0,0 +1,12 @@
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-calendars/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-grids/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-pivotview/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-base/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/tsconfig.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/tsconfig.json
new file mode 100644
index 00000000000..9fa16d6333c
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs340/tsconfig.json
@@ -0,0 +1,32 @@
+{
+ "compileOnSave": false,
+ "compilerOptions": {
+ "baseUrl": "./",
+ "outDir": "./dist/out-tsc",
+ "forceConsistentCasingInFileNames": true,
+ "strict": true,
+ "noImplicitOverride": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "sourceMap": true,
+ "declaration": false,
+ "downlevelIteration": true,
+ "experimentalDecorators": true,
+ "moduleResolution": "node",
+ "importHelpers": true,
+ "target": "ES2022",
+ "module": "ES2022",
+ "useDefineForClassFields": false,
+ "lib": [
+ "ES2022",
+ "dom"
+ ]
+ },
+ "angularCompilerOptions": {
+ "enableI18nLegacyMessageIdFormat": false,
+ "strictInjectionParameters": true,
+ "strictInputAccessModifiers": true,
+ "strictTemplates": true
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/angular.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/angular.json
new file mode 100644
index 00000000000..98b735ee4bb
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/angular.json
@@ -0,0 +1,70 @@
+{
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+ "version": 1,
+ "newProjectRoot": "projects",
+ "projects": {
+ "syncfusion-component": {
+ "projectType": "application",
+ "schematics": {},
+ "root": "",
+ "sourceRoot": "src",
+ "prefix": "app",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:browser",
+ "options": {
+ "outputPath": "dist",
+ "index": "index.html",
+ "main": "src/main.ts",
+ "tsConfig": "tsconfig.json",
+ "styles": [
+ "src/styles.css"
+ ],
+ "assets": []
+ },
+ "configurations": {
+ "production": {
+ "budgets": [
+ {
+ "type": "initial",
+ "maximumWarning": "500kb",
+ "maximumError": "10mb"
+ },
+ {
+ "type": "anyComponentStyle",
+ "maximumWarning": "2kb",
+ "maximumError": "4kb"
+ }
+ ],
+ "outputHashing": "all"
+ },
+ "development": {
+ "buildOptimizer": false,
+ "optimization": false,
+ "vendorChunk": true,
+ "extractLicenses": false,
+ "sourceMap": true,
+ "namedChunks": true
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "serve": {
+ "builder": "@angular-devkit/build-angular:dev-server",
+ "configurations": {
+ "production": {
+ "buildTarget": "syncfusion-component:build:production"
+ },
+ "development": {
+ "buildTarget": "syncfusion-component:build:development"
+ }
+ },
+ "defaultConfiguration": "development"
+ }
+ }
+ }
+ },
+ "cli": {
+ "analytics": false
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/index.html b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/index.html
new file mode 100644
index 00000000000..300331aaac7
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/index.html
@@ -0,0 +1,98 @@
+
+
+
+
Syncfusion Angular Pivot Grid
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/package.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/package.json
new file mode 100644
index 00000000000..9ab3ea20901
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/package.json
@@ -0,0 +1,51 @@
+{
+ "name": "syncfusion-component",
+ "version": "0.0.0",
+ "scripts": {
+ "ng": "ng",
+ "start": "ng serve",
+ "build": "ng build",
+ "watch": "ng build --watch --configuration development",
+ "test": "ng test"
+ },
+ "private": true,
+ "dependencies": {
+ "@angular/core": "17.1.2",
+ "@angular/platform-browser": "17.1.2",
+ "@angular/platform-browser-dynamic": "17.1.2",
+ "@syncfusion/ej2-angular-pivotview": "*",
+ "@syncfusion/ej2-base": "*",
+ "@syncfusion/ej2-buttons": "*",
+ "@syncfusion/ej2-dropdowns": "*",
+ "@syncfusion/ej2-grids": "*",
+ "@syncfusion/ej2-inputs": "*",
+ "@syncfusion/ej2-lists": "*",
+ "@syncfusion/ej2-navigations": "*",
+ "@syncfusion/ej2-popups": "*",
+ "@syncfusion/ej2-splitbuttons": "*",
+ "@syncfusion/ej2-angular-base": "*",
+ "@angular/animations": "17.1.2",
+ "@angular/common": "17.1.2",
+ "@angular/compiler": "17.1.2",
+ "@angular/forms": "17.1.2",
+ "@angular/router": "17.1.2",
+ "moment": "2.29.4",
+ "rxjs": "7.8.0",
+ "tslib": "2.3.0",
+ "zone.js": "0.14.3",
+ "@syncfusion/ej2-pivotview": "*"
+ },
+ "devDependencies": {
+ "@angular-devkit/build-angular": "17.1.2",
+ "@angular/cli": "17.1.2",
+ "@angular/compiler-cli": "17.1.2",
+ "@types/jasmine": "4.3.0",
+ "jasmine-core": "4.5.0",
+ "karma": "6.4.0",
+ "karma-chrome-launcher": "3.1.0",
+ "karma-coverage": "2.2.0",
+ "karma-jasmine": "5.1.0",
+ "karma-jasmine-html-reporter": "2.0.0",
+ "typescript": "5.3.3"
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/src/app.component.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/src/app.component.css
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/src/app.component.ts
new file mode 100644
index 00000000000..c619fb0e212
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/src/app.component.ts
@@ -0,0 +1,64 @@
+import { NgModule } from '@angular/core'
+import { BrowserModule } from '@angular/platform-browser'
+import { PivotViewAllModule, PivotFieldListAllModule, PDFExportService, PdfExportProperties } from '@syncfusion/ej2-angular-pivotview'
+import { Component, OnInit, ViewChild } from '@angular/core';
+import { IDataSet, PivotView } from '@syncfusion/ej2-angular-pivotview';
+import { Button } from '@syncfusion/ej2-buttons';
+import { pivotData } from './datasource';
+import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model';
+import { GridSettings } from '@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings';
+import { Observable } from 'rxjs';
+
+@Component({
+ imports: [
+ PivotViewAllModule,
+ PivotFieldListAllModule
+ ],
+ standalone: true,
+ selector: 'app-container',
+ template: `
+
+
+
Export
`,
+ providers: [PDFExportService],
+})
+export class AppComponent implements OnInit {
+ public width?: string;
+ public button?: Button;
+ public dataSourceSettings?: DataSourceSettingsModel;
+ public gridSettings?: GridSettings;
+ public observable = new Observable();
+
+ @ViewChild('pivotview', { static: false })
+ public pivotGridObj?: PivotView;
+
+ ngOnInit(): void {
+ this.dataSourceSettings = {
+ dataSource: pivotData as IDataSet[],
+ expandAll: true,
+ drilledMembers: [{ name: 'Year', items: ['FY 2015'] }],
+ columns: [{ name: 'Year', caption: 'Production Year' }],
+ rows: [{ name: 'Country' }, { name: 'Products' }, { name: 'Quarter' }],
+ values: [{ name: 'Sold', caption: 'Units Sold' }],
+ formatSettings: [{ name: 'Amount', format: 'C0' }],
+ filters: []
+ };
+
+ this.gridSettings = {
+ columnWidth: 140,
+ pdfQueryCellInfo: this.observable.subscribe((args: any) => {
+ if (args.cell && args.cell.row && args.cell.row.pdfGrid) {
+ args.cell.row.pdfGrid.repeatHeader = false;
+ }
+ }) as any,
+ } as GridSettings;
+
+ this.button = new Button({ isPrimary: true });
+ this.button.appendTo('#export');
+
+ this.button.element.onclick = (): void => {
+ this.pivotGridObj?.pdfExport();
+ };
+ }
+}
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/src/datasource.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/src/datasource.ts
new file mode 100644
index 00000000000..866e0c34108
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/src/datasource.ts
@@ -0,0 +1,157 @@
+export let pivotData: Object[] = [
+ { 'Sold': 31, 'Amount': 52824, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 46008, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 75, 'Amount': 127800, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 117576, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'France', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 85448, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 93, 'Amount': 139412, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 52470, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 48, 'Amount': 71957, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 25, 'Amount': 37480, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 41977, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'France', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 89, 'Amount': 141999.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 91, 'Amount': 145190.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 24, 'Amount': 38292, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 100, 'Amount': 159550, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 30, 'Amount': 47865, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 69, 'Amount': 110089.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 25, 'Amount': 39887.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 42, 'Amount': 67011, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 52, 'Amount': 82966, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 33, 'Amount': 52651.5, 'Country': 'France', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 74, 'Amount': 126096, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 49460.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 57, 'Amount': 97128, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 61464, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 64, 'Amount': 102112, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 129504, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 33, 'Amount': 56232, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 120984, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 81, 'Amount': 138024, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 65, 'Amount': 110760, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 16, 'Amount': 27264, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 59, 'Amount': 100536, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 36, 'Amount': 61344, 'Country': 'Germany', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 39, 'Amount': 58466, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 47, 'Amount': 70458, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 19, 'Amount': 28486, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 34, 'Amount': 50971, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 26, 'Amount': 38979, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 15, 'Amount': 22490, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 79, 'Amount': 118426, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 20991, 'Country': 'Germany', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 15, 'Amount': 23932.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 47, 'Amount': 74988.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 93, 'Amount': 148381.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 13, 'Amount': 20741.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 44, 'Amount': 70202, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 59, 'Amount': 94134.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 48, 'Amount': 76584, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 35, 'Amount': 55842.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'Germany', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 77, 'Amount': 131208, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 92, 'Amount': 156768, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 51, 'Amount': 86904, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 90, 'Amount': 153360, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 56, 'Amount': 95424, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 14, 'Amount': 23856, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 161880, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 24, 'Amount': 40896, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 39, 'Amount': 66456, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 84, 'Amount': 143136, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 40, 'Amount': 68160, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 96, 'Amount': 163584, 'Country': 'United Kingdom', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 24, 'Amount': 35981, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 86, 'Amount': 128919, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 31, 'Amount': 46474, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 36, 'Amount': 53969, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 69, 'Amount': 103436, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 95, 'Amount': 142410, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 30, 'Amount': 44975, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 97, 'Amount': 145408, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 16, 'Amount': 23989, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 40, 'Amount': 59965, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 68, 'Amount': 101937, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 11, 'Amount': 16494, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 27, 'Amount': 40478, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 67460, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 83, 'Amount': 124422, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 100, 'Amount': 149905, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 18, 'Amount': 26987, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 70, 'Amount': 104935, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 81, 'Amount': 121424, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 20, 'Amount': 29985, 'Country': 'United Kingdom', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 99, 'Amount': 148406, 'Country': 'United States', 'Products': 'Road Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 43, 'Amount': 73272, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 52, 'Amount': 88608, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 91, 'Amount': 155064, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 37, 'Amount': 63048, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 69864, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 83496, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 23, 'Amount': 39192, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 67, 'Amount': 114168, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 85, 'Amount': 144840, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 25, 'Amount': 42600, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 28, 'Amount': 47712, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 53, 'Amount': 90312, 'Country': 'United States', 'Products': 'Mountain Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 82, 'Amount': 130831, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 41, 'Amount': 65415.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q1' },
+ { 'Sold': 60, 'Amount': 95730, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 71, 'Amount': 113280.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q2' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 21, 'Amount': 33505.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 34, 'Amount': 54247, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2015', 'Quarter': 'Q4' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q1' },
+ { 'Sold': 50, 'Amount': 79775, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q2' },
+ { 'Sold': 49, 'Amount': 78179.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 40, 'Amount': 63820, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q3' },
+ { 'Sold': 94, 'Amount': 149977, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 17, 'Amount': 27123.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2016', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 56, 'Amount': 89348, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q1' },
+ { 'Sold': 75, 'Amount': 119662.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q2' },
+ { 'Sold': 54, 'Amount': 86157, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 14, 'Amount': 22337, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q3' },
+ { 'Sold': 11, 'Amount': 17550.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 76, 'Amount': 121258, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2017', 'Quarter': 'Q4' },
+ { 'Sold': 45, 'Amount': 71797.5, 'Country': 'United Kingdom', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' },
+ { 'Sold': 80, 'Amount': 127640, 'Country': 'United States', 'Products': 'Touring Bikes', 'Year': 'FY 2018', 'Quarter': 'Q1' }];
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/src/main.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/src/main.ts
new file mode 100644
index 00000000000..3607237bd6e
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/src/main.ts
@@ -0,0 +1,4 @@
+import { bootstrapApplication } from '@angular/platform-browser';
+import { AppComponent } from './app.component';
+import 'zone.js';
+bootstrapApplication(AppComponent).catch((err) => console.error(err));
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/src/styles.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/src/styles.css
new file mode 100644
index 00000000000..47b514c6822
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/src/styles.css
@@ -0,0 +1,12 @@
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-calendars/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-grids/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-pivotview/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-base/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/tsconfig.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/tsconfig.json
new file mode 100644
index 00000000000..9fa16d6333c
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs341/tsconfig.json
@@ -0,0 +1,32 @@
+{
+ "compileOnSave": false,
+ "compilerOptions": {
+ "baseUrl": "./",
+ "outDir": "./dist/out-tsc",
+ "forceConsistentCasingInFileNames": true,
+ "strict": true,
+ "noImplicitOverride": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "sourceMap": true,
+ "declaration": false,
+ "downlevelIteration": true,
+ "experimentalDecorators": true,
+ "moduleResolution": "node",
+ "importHelpers": true,
+ "target": "ES2022",
+ "module": "ES2022",
+ "useDefineForClassFields": false,
+ "lib": [
+ "ES2022",
+ "dom"
+ ]
+ },
+ "angularCompilerOptions": {
+ "enableI18nLegacyMessageIdFormat": false,
+ "strictInjectionParameters": true,
+ "strictInputAccessModifiers": true,
+ "strictTemplates": true
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/angular.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/angular.json
new file mode 100644
index 00000000000..98b735ee4bb
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/angular.json
@@ -0,0 +1,70 @@
+{
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+ "version": 1,
+ "newProjectRoot": "projects",
+ "projects": {
+ "syncfusion-component": {
+ "projectType": "application",
+ "schematics": {},
+ "root": "",
+ "sourceRoot": "src",
+ "prefix": "app",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:browser",
+ "options": {
+ "outputPath": "dist",
+ "index": "index.html",
+ "main": "src/main.ts",
+ "tsConfig": "tsconfig.json",
+ "styles": [
+ "src/styles.css"
+ ],
+ "assets": []
+ },
+ "configurations": {
+ "production": {
+ "budgets": [
+ {
+ "type": "initial",
+ "maximumWarning": "500kb",
+ "maximumError": "10mb"
+ },
+ {
+ "type": "anyComponentStyle",
+ "maximumWarning": "2kb",
+ "maximumError": "4kb"
+ }
+ ],
+ "outputHashing": "all"
+ },
+ "development": {
+ "buildOptimizer": false,
+ "optimization": false,
+ "vendorChunk": true,
+ "extractLicenses": false,
+ "sourceMap": true,
+ "namedChunks": true
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "serve": {
+ "builder": "@angular-devkit/build-angular:dev-server",
+ "configurations": {
+ "production": {
+ "buildTarget": "syncfusion-component:build:production"
+ },
+ "development": {
+ "buildTarget": "syncfusion-component:build:development"
+ }
+ },
+ "defaultConfiguration": "development"
+ }
+ }
+ }
+ },
+ "cli": {
+ "analytics": false
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/index.html b/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/index.html
new file mode 100644
index 00000000000..3b3d9a50a3a
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/index.html
@@ -0,0 +1,38 @@
+
+
+
+
+
Syncfusion Angular Pivot Grid
+
+
+
+
+
+
+
+
+
+
+
+ Loading....
+
+
+
+
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/package.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/package.json
new file mode 100644
index 00000000000..9ab3ea20901
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/package.json
@@ -0,0 +1,51 @@
+{
+ "name": "syncfusion-component",
+ "version": "0.0.0",
+ "scripts": {
+ "ng": "ng",
+ "start": "ng serve",
+ "build": "ng build",
+ "watch": "ng build --watch --configuration development",
+ "test": "ng test"
+ },
+ "private": true,
+ "dependencies": {
+ "@angular/core": "17.1.2",
+ "@angular/platform-browser": "17.1.2",
+ "@angular/platform-browser-dynamic": "17.1.2",
+ "@syncfusion/ej2-angular-pivotview": "*",
+ "@syncfusion/ej2-base": "*",
+ "@syncfusion/ej2-buttons": "*",
+ "@syncfusion/ej2-dropdowns": "*",
+ "@syncfusion/ej2-grids": "*",
+ "@syncfusion/ej2-inputs": "*",
+ "@syncfusion/ej2-lists": "*",
+ "@syncfusion/ej2-navigations": "*",
+ "@syncfusion/ej2-popups": "*",
+ "@syncfusion/ej2-splitbuttons": "*",
+ "@syncfusion/ej2-angular-base": "*",
+ "@angular/animations": "17.1.2",
+ "@angular/common": "17.1.2",
+ "@angular/compiler": "17.1.2",
+ "@angular/forms": "17.1.2",
+ "@angular/router": "17.1.2",
+ "moment": "2.29.4",
+ "rxjs": "7.8.0",
+ "tslib": "2.3.0",
+ "zone.js": "0.14.3",
+ "@syncfusion/ej2-pivotview": "*"
+ },
+ "devDependencies": {
+ "@angular-devkit/build-angular": "17.1.2",
+ "@angular/cli": "17.1.2",
+ "@angular/compiler-cli": "17.1.2",
+ "@types/jasmine": "4.3.0",
+ "jasmine-core": "4.5.0",
+ "karma": "6.4.0",
+ "karma-chrome-launcher": "3.1.0",
+ "karma-coverage": "2.2.0",
+ "karma-jasmine": "5.1.0",
+ "karma-jasmine-html-reporter": "2.0.0",
+ "typescript": "5.3.3"
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/src/app.component.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/src/app.component.ts
new file mode 100644
index 00000000000..8e732c9b436
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/src/app.component.ts
@@ -0,0 +1,95 @@
+import { PivotViewAllModule, PivotFieldListAllModule, PDFExportService, VirtualScrollService, ExportCompleteEventArgs } from '@syncfusion/ej2-angular-pivotview'
+import { Component, OnInit, ViewChild } from '@angular/core';
+import { IDataSet, PivotView } from '@syncfusion/ej2-angular-pivotview';
+import { Button } from '@syncfusion/ej2-buttons';
+import { DataSourceSettingsModel } from '@syncfusion/ej2-pivotview/src/model/datasourcesettings-model';
+
+@Component({
+ imports: [
+ PivotViewAllModule,
+ PivotFieldListAllModule
+ ],
+ standalone: true,
+ selector: 'app-container',
+ template: `
+
+
Export
`,
+ providers: [PDFExportService, VirtualScrollService],
+})
+export class AppComponent implements OnInit {
+ public width?: string;
+ public dataSourceSettings?: DataSourceSettingsModel;
+ public button?: Button;
+ public customername: string[] = ['TOM', 'Hawk', 'Jon', 'Chandler', 'Monica', 'Rachel', 'Phoebe', 'Gunther',
+ 'Ross', 'Geller', 'Joey', 'Bing', 'Tribbiani', 'Janice', 'Bong', 'Perk', 'Green', 'Ken', 'Adams'];
+ public city: string[] = ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Philadelphia', 'Phoenix', 'San Antonio', 'Austin',
+ 'San Francisco', 'Columbus', 'Washington', 'Portland', 'Oklahoma', 'Las Vegas', 'Virginia', 'St. Louis', 'Birmingham'];
+
+ @ViewChild('pivotview', { static: false })
+ public pivotGridObj?: PivotView;
+
+ exportComplete(args: ExportCompleteEventArgs | any): void {
+ this.pivotGridObj?.hideWaitingPopup();
+ }
+
+ data(count: number): Object[] {
+ let result: Object[] = [];
+ let dt: number = 0;
+ for (let i: number = 1; i < (count + 1); i++) {
+ dt++;
+ let round: string;
+ let toString: string = i.toString();
+ if (toString.length === 1) {
+ round = '0000' + (i);
+ }
+ else if (toString.length === 2) {
+ round = '000' + i;
+ }
+ else if (toString.length === 3) {
+ round = '00' + i;
+ } else if (toString.length === 4) {
+ round = '0' + i;
+ } else {
+ round = toString;
+ }
+ result.push({
+ ProductID: 'PRO-' + round,
+ City: this.city[Math.round(Math.random() * this.city.length)] || this.city[0],
+ Year: "FY " + (dt + 2023),
+ CustomerName: this.customername[Math.round(Math.random() * this.customername.length)] || this.customername[0],
+ Price: Math.round(Math.random() * 5000) + 5000,
+ Sold: Math.round(Math.random() * 80) + 10,
+ });
+ if (dt / 2 == 1) {
+ dt = 0;
+ }
+ }
+ return result;
+ };
+
+ ngOnInit(): void {
+
+ this.dataSourceSettings = {
+ dataSource: this.data(10000) as IDataSet[],
+ enableSorting: false,
+ expandAll: true,
+ formatSettings: [{ name: 'Price', format: 'C0' }],
+ rows: [{ name: 'ProductID' }],
+ columns: [{ name: 'Year' }],
+ values: [{ name: 'Price', caption: 'Unit Price' }, { name: 'Sold', caption: 'Unit Sold' }]
+ };
+ this.width = '100%';
+
+ this.button = new Button({ isPrimary: true });
+ this.button.appendTo('#export');
+
+ this.button.element.onclick = (): void => {
+ this.pivotGridObj?.showWaitingPopup();
+ setTimeout(() => {
+ this.pivotGridObj?.pdfExport();
+ });
+ };
+ }
+}
+
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/src/main.ts b/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/src/main.ts
new file mode 100644
index 00000000000..3607237bd6e
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/src/main.ts
@@ -0,0 +1,4 @@
+import { bootstrapApplication } from '@angular/platform-browser';
+import { AppComponent } from './app.component';
+import 'zone.js';
+bootstrapApplication(AppComponent).catch((err) => console.error(err));
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/src/styles.css b/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/src/styles.css
new file mode 100644
index 00000000000..47b514c6822
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/src/styles.css
@@ -0,0 +1,12 @@
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-calendars/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-grids/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-pivotview/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-angular-base/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/tsconfig.json b/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/tsconfig.json
new file mode 100644
index 00000000000..9fa16d6333c
--- /dev/null
+++ b/ej2-angular/code-snippet/pivot-grid/getting-started-cs342/tsconfig.json
@@ -0,0 +1,32 @@
+{
+ "compileOnSave": false,
+ "compilerOptions": {
+ "baseUrl": "./",
+ "outDir": "./dist/out-tsc",
+ "forceConsistentCasingInFileNames": true,
+ "strict": true,
+ "noImplicitOverride": true,
+ "noPropertyAccessFromIndexSignature": true,
+ "noImplicitReturns": true,
+ "noFallthroughCasesInSwitch": true,
+ "sourceMap": true,
+ "declaration": false,
+ "downlevelIteration": true,
+ "experimentalDecorators": true,
+ "moduleResolution": "node",
+ "importHelpers": true,
+ "target": "ES2022",
+ "module": "ES2022",
+ "useDefineForClassFields": false,
+ "lib": [
+ "ES2022",
+ "dom"
+ ]
+ },
+ "angularCompilerOptions": {
+ "enableI18nLegacyMessageIdFormat": false,
+ "strictInjectionParameters": true,
+ "strictInputAccessModifiers": true,
+ "strictTemplates": true
+ }
+}
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/Integrations/code-mirror/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/Integrations/code-mirror/src/styles.css
index f5f729a27ef..3f28ca4c25d 100644
--- a/ej2-angular/code-snippet/rich-text-editor/Integrations/code-mirror/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/Integrations/code-mirror/src/styles.css
@@ -1,9 +1,9 @@
/* You can add global styles to this file, and also import other style files */
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
diff --git a/ej2-angular/code-snippet/rich-text-editor/Integrations/dialog/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/Integrations/dialog/src/styles.css
index a727592fb75..fcf96bb9098 100644
--- a/ej2-angular/code-snippet/rich-text-editor/Integrations/dialog/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/Integrations/dialog/src/styles.css
@@ -1,9 +1,9 @@
/* You can add global styles to this file, and also import other style files */
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/Integrations/embedly/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/Integrations/embedly/src/styles.css
index ce5574d1d1c..4c7e9dd228c 100644
--- a/ej2-angular/code-snippet/rich-text-editor/Integrations/embedly/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/Integrations/embedly/src/styles.css
@@ -1,11 +1,11 @@
/* You can add global styles to this file, and also import other style files */
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
diff --git a/ej2-angular/code-snippet/rich-text-editor/Integrations/highlightjs/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/Integrations/highlightjs/src/styles.css
index 3903fb336b6..21960986618 100644
--- a/ej2-angular/code-snippet/rich-text-editor/Integrations/highlightjs/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/Integrations/highlightjs/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
@import 'highlight.js/styles/atom-one-dark.min.css';
diff --git a/ej2-angular/code-snippet/rich-text-editor/Integrations/mention-integration/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/Integrations/mention-integration/src/styles.css
index 7de396d4884..90d0ce41a81 100644
--- a/ej2-angular/code-snippet/rich-text-editor/Integrations/mention-integration/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/Integrations/mention-integration/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
diff --git a/ej2-angular/code-snippet/rich-text-editor/Integrations/mention-remote-data/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/Integrations/mention-remote-data/src/styles.css
index 7de396d4884..90d0ce41a81 100644
--- a/ej2-angular/code-snippet/rich-text-editor/Integrations/mention-remote-data/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/Integrations/mention-remote-data/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
diff --git a/ej2-angular/code-snippet/rich-text-editor/Integrations/tailwind-preflight-iframe/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/Integrations/tailwind-preflight-iframe/src/styles.css
index 9b474bf5bd5..5d97900e139 100644
--- a/ej2-angular/code-snippet/rich-text-editor/Integrations/tailwind-preflight-iframe/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/Integrations/tailwind-preflight-iframe/src/styles.css
@@ -2,14 +2,14 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
body.e-content li {
margin-bottom: 10px !important;
diff --git a/ej2-angular/code-snippet/rich-text-editor/Integrations/tailwind-preflight/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/Integrations/tailwind-preflight/src/styles.css
index 40b5fd4d968..42a01ea98a9 100644
--- a/ej2-angular/code-snippet/rich-text-editor/Integrations/tailwind-preflight/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/Integrations/tailwind-preflight/src/styles.css
@@ -2,11 +2,11 @@
@tailwind base;
@tailwind components;
@tailwind utilities;
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/audio-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/audio-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/audio-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/audio-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/basic-text-styling-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/basic-text-styling-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/basic-text-styling-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/basic-text-styling-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/built-in-toolbar/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/built-in-toolbar/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/built-in-toolbar/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/built-in-toolbar/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/cell-selection/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/cell-selection/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/cell-selection/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/cell-selection/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/checklist-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/checklist-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/checklist-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/checklist-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/clipboard-cleanup-default/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/clipboard-cleanup-default/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/clipboard-cleanup-default/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/clipboard-cleanup-default/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/clipboard-cleanup/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/clipboard-cleanup/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/clipboard-cleanup/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/clipboard-cleanup/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/code-block-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/code-block-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/code-block-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/code-block-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/code-format-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/code-format-cs1/src/styles.css
index 49fd9162833..7859cc2d6df 100644
--- a/ej2-angular/code-snippet/rich-text-editor/code-format-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/code-format-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
diff --git a/ej2-angular/code-snippet/rich-text-editor/code-view-support-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/code-view-support-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/code-view-support-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/code-view-support-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/customize-audio-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/customize-audio-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/customize-audio-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/customize-audio-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/customize-image-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/customize-image-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/customize-image-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/customize-image-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/customize-video-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/customize-video-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/customize-video-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/customize-video-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/disable-editor-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/disable-editor-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/disable-editor-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/disable-editor-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/editor-value-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/editor-value-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/editor-value-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/editor-value-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/editor-value-cs2/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/editor-value-cs2/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/editor-value-cs2/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/editor-value-cs2/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/editor-value-cs3/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/editor-value-cs3/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/editor-value-cs3/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/editor-value-cs3/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/editor-value-cs4/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/editor-value-cs4/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/editor-value-cs4/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/editor-value-cs4/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/emoji-picker-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/emoji-picker-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/emoji-picker-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/emoji-picker-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/emoji-picker-cs2/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/emoji-picker-cs2/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/emoji-picker-cs2/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/emoji-picker-cs2/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/enter-key-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/enter-key-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/enter-key-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/enter-key-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/export-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/export-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/export-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/export-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/file-browser-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/file-browser-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/file-browser-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/file-browser-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/floating-toolbar-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/floating-toolbar-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/floating-toolbar-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/floating-toolbar-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/form-support-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/form-support-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/form-support-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/form-support-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/form-support-cs2/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/form-support-cs2/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/form-support-cs2/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/form-support-cs2/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/form-support-cs3/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/form-support-cs3/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/form-support-cs3/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/form-support-cs3/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/format-lists-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/format-lists-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/format-lists-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/format-lists-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/format-lists-cs2/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/format-lists-cs2/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/format-lists-cs2/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/format-lists-cs2/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/format-painter-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/format-painter-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/format-painter-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/format-painter-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/format-painter-cs2/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/format-painter-cs2/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/format-painter-cs2/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/format-painter-cs2/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/fullscreen-mode/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/fullscreen-mode/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/fullscreen-mode/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/fullscreen-mode/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs10/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs10/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs10/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs10/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs11/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs11/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs11/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs11/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs12/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs12/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs12/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs12/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs13/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs13/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs13/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs13/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs14/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs14/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs14/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs14/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs15/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs15/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs15/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs15/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs16/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs16/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs16/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs16/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs17/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs17/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs17/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs17/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs18/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs18/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs18/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs18/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs19/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs19/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs19/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs19/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs2/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs2/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs2/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs2/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs20/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs20/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs20/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs20/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs21/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs21/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs21/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs21/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs22/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs22/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs22/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs22/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs23/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs23/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs23/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs23/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs24/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs24/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs24/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs24/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs25/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs25/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs25/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs25/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs26/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs26/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs26/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs26/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs27/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs27/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs27/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs27/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs28/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs28/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs28/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs28/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs29/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs29/src/styles.css
index 76f7da338ee..75ce2a4c402 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs29/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs29/src/styles.css
@@ -1,12 +1,12 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
.e-rte-srctextarea {
display: none !important;
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs3/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs3/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs3/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs3/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs30/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs30/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs30/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs30/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs31/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs31/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs31/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs31/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs32/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs32/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs32/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs32/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs33/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs33/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs33/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs33/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs34/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs34/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs34/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs34/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs35/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs35/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs35/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs35/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs4/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs4/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs4/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs4/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs5/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs5/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs5/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs5/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs6/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs6/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs6/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs6/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs7/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs7/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs7/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs7/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs8/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs8/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs8/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs8/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs9/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs9/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-cs9/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-cs9/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-iframe-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-iframe-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-iframe-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-iframe-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-toolbar-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-toolbar-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-toolbar-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-toolbar-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/getting-started-value-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/getting-started-value-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/getting-started-value-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/getting-started-value-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/headings-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/headings-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/headings-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/headings-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/headings-cs2/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/headings-cs2/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/headings-cs2/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/headings-cs2/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/horizontal-line/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/horizontal-line/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/horizontal-line/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/horizontal-line/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/how-to/atjs-integration-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/how-to/atjs-integration-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/how-to/atjs-integration-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/how-to/atjs-integration-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/how-to/check-image-size-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/how-to/check-image-size-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/how-to/check-image-size-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/how-to/check-image-size-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/how-to/cursor-at-end-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/how-to/cursor-at-end-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/how-to/cursor-at-end-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/how-to/cursor-at-end-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/how-to/cursor-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/how-to/cursor-cs1/src/styles.css
index 8bebf5a466a..70959851a1f 100644
--- a/ej2-angular/code-snippet/rich-text-editor/how-to/cursor-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/how-to/cursor-cs1/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/how-to/cut-copy-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/how-to/cut-copy-cs1/src/styles.css
index 8bebf5a466a..70959851a1f 100644
--- a/ej2-angular/code-snippet/rich-text-editor/how-to/cut-copy-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/how-to/cut-copy-cs1/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/how-to/cut-copy-cs2/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/how-to/cut-copy-cs2/src/styles.css
index 8bebf5a466a..70959851a1f 100644
--- a/ej2-angular/code-snippet/rich-text-editor/how-to/cut-copy-cs2/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/how-to/cut-copy-cs2/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/how-to/embedly-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/how-to/embedly-cs1/src/styles.css
index 8bebf5a466a..70959851a1f 100644
--- a/ej2-angular/code-snippet/rich-text-editor/how-to/embedly-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/how-to/embedly-cs1/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/how-to/format-code-block-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/how-to/format-code-block-cs1/src/styles.css
index 8bebf5a466a..70959851a1f 100644
--- a/ej2-angular/code-snippet/rich-text-editor/how-to/format-code-block-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/how-to/format-code-block-cs1/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/how-to/placeholder-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/how-to/placeholder-cs1/src/styles.css
index 8bebf5a466a..70959851a1f 100644
--- a/ej2-angular/code-snippet/rich-text-editor/how-to/placeholder-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/how-to/placeholder-cs1/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/how-to/rename-image-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/how-to/rename-image-cs1/src/styles.css
index 8bebf5a466a..70959851a1f 100644
--- a/ej2-angular/code-snippet/rich-text-editor/how-to/rename-image-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/how-to/rename-image-cs1/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/how-to/richtexteditor-inside-dialog-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/how-to/richtexteditor-inside-dialog-cs1/src/styles.css
index 8bebf5a466a..70959851a1f 100644
--- a/ej2-angular/code-snippet/rich-text-editor/how-to/richtexteditor-inside-dialog-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/how-to/richtexteditor-inside-dialog-cs1/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/how-to/richtexteditor-inside-tab-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/how-to/richtexteditor-inside-tab-cs1/src/styles.css
index 8bebf5a466a..70959851a1f 100644
--- a/ej2-angular/code-snippet/rich-text-editor/how-to/richtexteditor-inside-tab-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/how-to/richtexteditor-inside-tab-cs1/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/how-to/save-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/how-to/save-cs1/src/styles.css
index 8bebf5a466a..70959851a1f 100644
--- a/ej2-angular/code-snippet/rich-text-editor/how-to/save-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/how-to/save-cs1/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/how-to/save-on-blur-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/how-to/save-on-blur-cs1/src/styles.css
index 8bebf5a466a..70959851a1f 100644
--- a/ej2-angular/code-snippet/rich-text-editor/how-to/save-on-blur-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/how-to/save-on-blur-cs1/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/html-editor/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/html-editor/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/html-editor/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/html-editor/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/image-alignment-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/image-alignment-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/image-alignment-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/image-alignment-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/image-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/image-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/image-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/image-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/image-cs2/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/image-cs2/src/styles.css
index 021c62614f8..fa57e59901f 100644
--- a/ej2-angular/code-snippet/rich-text-editor/image-cs2/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/image-cs2/src/styles.css
@@ -1,8 +1,8 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/image-wrap-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/image-wrap-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/image-wrap-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/image-wrap-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/import-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/import-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/import-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/import-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/indent-and-outdent-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/indent-and-outdent-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/indent-and-outdent-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/indent-and-outdent-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/line-height-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/line-height-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/line-height-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/line-height-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/line-height/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/line-height/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/line-height/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/line-height/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/mail-merge-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/mail-merge-cs1/src/styles.css
index d36210fb271..43a224442ec 100644
--- a/ej2-angular/code-snippet/rich-text-editor/mail-merge-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/mail-merge-cs1/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/mail-merge/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/mail-merge/src/styles.css
index d36210fb271..43a224442ec 100644
--- a/ej2-angular/code-snippet/rich-text-editor/mail-merge/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/mail-merge/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/markdown-autoformat-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/markdown-autoformat-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/markdown-autoformat-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/markdown-autoformat-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/markdown-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/markdown-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/markdown-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/markdown-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/markdown-cs2/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/markdown-cs2/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/markdown-cs2/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/markdown-cs2/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/markdown-cs3/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/markdown-cs3/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/markdown-cs3/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/markdown-cs3/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/markdown-cs4/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/markdown-cs4/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/markdown-cs4/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/markdown-cs4/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/markdown-cs5/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/markdown-cs5/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/markdown-cs5/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/markdown-cs5/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/markdown-editor/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/markdown-editor/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/markdown-editor/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/markdown-editor/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/mention-iframe/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/mention-iframe/src/styles.css
index ca1591694ed..e84094dd095 100644
--- a/ej2-angular/code-snippet/rich-text-editor/mention-iframe/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/mention-iframe/src/styles.css
@@ -1,13 +1,13 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
#mention-TemplateList {
position: relative;
diff --git a/ej2-angular/code-snippet/rich-text-editor/mention-integration-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/mention-integration-cs1/src/styles.css
index ca1591694ed..e84094dd095 100644
--- a/ej2-angular/code-snippet/rich-text-editor/mention-integration-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/mention-integration-cs1/src/styles.css
@@ -1,13 +1,13 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
#mention-TemplateList {
position: relative;
diff --git a/ej2-angular/code-snippet/rich-text-editor/mention-min-length/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/mention-min-length/src/styles.css
index d36210fb271..43a224442ec 100644
--- a/ej2-angular/code-snippet/rich-text-editor/mention-min-length/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/mention-min-length/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/mention-suggestion-count/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/mention-suggestion-count/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/mention-suggestion-count/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/mention-suggestion-count/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/module-inject/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/module-inject/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/module-inject/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/module-inject/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/nested-blockquote/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/nested-blockquote/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/nested-blockquote/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/nested-blockquote/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/nesting-table/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/nesting-table/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/nesting-table/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/nesting-table/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/node-selection/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/node-selection/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/node-selection/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/node-selection/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/paste-cleanup-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/paste-cleanup-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/paste-cleanup-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/paste-cleanup-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/paste-cleanup-cs2/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/paste-cleanup-cs2/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/paste-cleanup-cs2/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/paste-cleanup-cs2/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/prevent-cross-site-scripting-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/prevent-cross-site-scripting-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/prevent-cross-site-scripting-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/prevent-cross-site-scripting-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/prevent-enter-key-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/prevent-enter-key-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/prevent-enter-key-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/prevent-enter-key-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/quick-format-toolbar-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/quick-format-toolbar-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/quick-format-toolbar-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/quick-format-toolbar-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/quick-toolbar-body/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/quick-toolbar-body/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/quick-toolbar-body/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/quick-toolbar-body/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/quick-toolbar-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/quick-toolbar-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/quick-toolbar-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/quick-toolbar-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/quotation-formatting-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/quotation-formatting-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/quotation-formatting-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/quotation-formatting-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/read-only-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/read-only-cs1/src/styles.css
index 49fd9162833..7859cc2d6df 100644
--- a/ej2-angular/code-snippet/rich-text-editor/read-only-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/read-only-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
diff --git a/ej2-angular/code-snippet/rich-text-editor/relative-url/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/relative-url/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/relative-url/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/relative-url/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/remove-format-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/remove-format-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/remove-format-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/remove-format-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/remove-url-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/remove-url-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/remove-url-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/remove-url-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/remove-url-cs2/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/remove-url-cs2/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/remove-url-cs2/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/remove-url-cs2/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/select-all/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/select-all/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/select-all/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/select-all/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/selection/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/selection/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/selection/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/selection/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/shift-enter-key-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/shift-enter-key-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/shift-enter-key-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/shift-enter-key-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/show-recent-color/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/show-recent-color/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/show-recent-color/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/show-recent-color/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/slash-menu-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/slash-menu-cs1/src/styles.css
index d36210fb271..43a224442ec 100644
--- a/ej2-angular/code-snippet/rich-text-editor/slash-menu-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/slash-menu-cs1/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/style-encapsulation/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/style-encapsulation/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/style-encapsulation/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/style-encapsulation/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/tab-integration/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/tab-integration/src/styles.css
index 8d4a478e2c4..f60c6ff55cb 100644
--- a/ej2-angular/code-snippet/rich-text-editor/tab-integration/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/tab-integration/src/styles.css
@@ -1,8 +1,8 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/table-cell-properties-sample/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/table-cell-properties-sample/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/table-cell-properties-sample/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/table-cell-properties-sample/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/table-row-and-column-selection/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/table-row-and-column-selection/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/table-row-and-column-selection/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/table-row-and-column-selection/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/text-alignments-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/text-alignments-cs1/src/styles.css
index 49fd9162833..7859cc2d6df 100644
--- a/ej2-angular/code-snippet/rich-text-editor/text-alignments-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/text-alignments-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
diff --git a/ej2-angular/code-snippet/rich-text-editor/toolbar/bottom-toolbar/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/toolbar/bottom-toolbar/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/toolbar/bottom-toolbar/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/toolbar/bottom-toolbar/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/toolbar/expand-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/toolbar/expand-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/toolbar/expand-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/toolbar/expand-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/toolbar/multirow-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/toolbar/multirow-cs1/src/styles.css
index 8bebf5a466a..70959851a1f 100644
--- a/ej2-angular/code-snippet/rich-text-editor/toolbar/multirow-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/toolbar/multirow-cs1/src/styles.css
@@ -1,10 +1,10 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/toolbar/multirow-cs2/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/toolbar/multirow-cs2/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/toolbar/multirow-cs2/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/toolbar/multirow-cs2/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/toolbar/multirow-cs3/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/toolbar/multirow-cs3/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/toolbar/multirow-cs3/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/toolbar/multirow-cs3/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/toolbar/popup-toolbar/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/toolbar/popup-toolbar/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/toolbar/popup-toolbar/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/toolbar/popup-toolbar/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/toolbar/scrollable-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/toolbar/scrollable-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/toolbar/scrollable-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/toolbar/scrollable-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/undo-redo-stack/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/undo-redo-stack/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/undo-redo-stack/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/undo-redo-stack/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/code-snippet/rich-text-editor/video-cs1/src/styles.css b/ej2-angular/code-snippet/rich-text-editor/video-cs1/src/styles.css
index 3d03af5d5ac..b8c2e5348ea 100644
--- a/ej2-angular/code-snippet/rich-text-editor/video-cs1/src/styles.css
+++ b/ej2-angular/code-snippet/rich-text-editor/video-cs1/src/styles.css
@@ -1,9 +1,9 @@
-@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
-@import '../node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
+@import 'node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-icons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import 'node_modules/@syncfusion/ej2-richtexteditor/styles/tailwind3.css';
\ No newline at end of file
diff --git a/ej2-angular/diagram/collaborative-editing/angular-app-collaborative-editing.md b/ej2-angular/diagram/collaborative-editing/angular-app-collaborative-editing.md
new file mode 100644
index 00000000000..44c876be2b8
--- /dev/null
+++ b/ej2-angular/diagram/collaborative-editing/angular-app-collaborative-editing.md
@@ -0,0 +1,349 @@
+---
+layout: post
+title: Collaborative Editing Configuration in Angular Diagram | Syncfusion
+description: Checkout and learn to configure SignalR and Redis for real-time collaborative editing in Syncfusion Angular Diagram.
+control: Diagram
+documentation: ug
+platform: ej2-angular
+domainurl: ##DomainURL##
+---
+
+# SignalR hub configuration in Angular application
+
+## Overview
+
+This guide explains how to configure SignalR Hub in an Angular application for real-time collaborative diagram editing.
+
+## Prerequisites
+
+* [System requirements for Angular components](https://ej2.syncfusion.com/angular/documentation/system-requirement)
+
+## How to create Angular sample
+
+To create an Angular application, follow the steps outlined in the Angular [Getting Started](https://ej2.syncfusion.com/angular/documentation/diagram/getting-started) documentation.
+
+## How to add packages in the Angular application
+
+Open the terminal and install the following packages using npm.
+
+* @microsoft/signalr
+* @syncfusion/ej2-angular-diagrams
+
+## Configure SignalR service in Angular application
+
+To enable real-time collaboration, configure SignalR HubConnection in your Angular component as follows:
+
+* Initialize the `HubConnection` within the component's `ngOnInit` life cycle hook and start it by calling `start()`.
+* Connect to the `/diagramHub` endpoint with WebSocket transport `skipNegotiation: true` and enable automatic reconnect to handle transient network issues.
+* Subscribe to the `OnConnectedAsync` callback to receive the unique connection ID, confirming a successful handshake with the server.
+* Join a SignalR group by calling `JoinDiagram(roomName)` after connecting. This ensures updates are shared only with users in the same diagram session.
+* Refer to Create Angular [Simple Diagram](https://ej2.syncfusion.com/angular/documentation/diagram/getting-started)
+
+```typescript
+import { Component, OnInit, OnDestroy } from '@angular/core';
+import * as signalR from '@microsoft/signalr';
+
+@Component({
+ selector: 'app-diagram',
+ template: `
+
+ `,
+ styleUrls: ['./diagram.component.css']
+})
+export class DiagramComponent implements OnInit, OnDestroy {
+ private connection: signalR.HubConnection | null = null;
+ private roomName: string = 'Syncfusion';
+ isConnected: boolean = false;
+
+ constructor() {}
+
+ ngOnInit(): void {
+ this.initializeSignalRConnection();
+ }
+
+ ngOnDestroy(): void {
+ if (this.connection && this.connection.state === signalR.HubConnectionState.Connected) {
+ this.connection.stop();
+ }
+ }
+
+ private initializeSignalRConnection(): void {
+ if (this.connection === null) {
+ // Create connection
+ this.connection = new signalR.HubConnectionBuilder()
+ .withUrl('http://localhost:5000/diagramHub', {
+ skipNegotiation: true,
+ transport: signalR.HttpTransportType.WebSockets
+ })
+ .withAutomaticReconnect()
+ .build();
+
+ // Triggered when the connection to the SignalR Hub is successfully established
+ this.connection.on('OnConnectedAsync', (id: string) => {
+ this.onConnectedAsync(id);
+ });
+
+ // Start the connection
+ this.connection.start()
+ .then(() => {
+ console.log('Connected to SignalR Hub');
+ this.isConnected = true;
+ })
+ .catch((error: Error) => {
+ console.error('Connection failed:', error);
+ });
+ }
+ }
+
+ private onConnectedAsync(id: string): void {
+ if (id && id.length > 0) {
+ console.log('Connection ID:', id);
+ // Join the room after connection is established
+ this.connection?.invoke('JoinDiagram', this.roomName)
+ .catch((error: Error) => {
+ console.error('JoinDiagram failed:', error);
+ });
+ }
+ }
+}
+```
+
+>**Notes:**
+>* Use a unique `roomName` per diagram (e.g., a diagram ID) to isolate sessions.
+>* If `WebSockets` may be unavailable, remove `SkipNegotiation` so SignalR can fall back to SSE or Long Polling.
+>* Consider handling reconnecting/disconnected states in the UI and securing the connection with authentication, if required.
+
+
+## Sending and applying real-time diagram changes
+
+* The Angular Diagram component triggers the [historyChange](https://ej2.syncfusion.com/angular/documentation/api/diagram/index-default#historychange) event whenever the diagram is modified (e.g., add, delete, move, resize, or edit nodes/connectors).
+* Use [getDiagramUpdates](https://ej2.syncfusion.com/angular/documentation/api/diagram/index-default#getdiagramupdates) to produce a compact set of incremental updates (JSON-formatted changes) representing just the changes, not the entire diagram.
+* Send these changes to the hub method `BroadcastToOtherUsers`, which relays them to all users joined to the same SignalR group (room).
+* Each remote user listens for ReceiveData and applies the incoming changes with [setDiagramUpdates](https://ej2.syncfusion.com/angular/documentation/api/diagram/index-default#setdiagramupdates), keeping their view synchronized without reloading the full diagram.
+* Enable the [enableCollaborativeEditing](https://ej2.syncfusion.com/angular/documentation/api/diagram/index-default#enablecollaborativeediting) property on the diagram to treat multi-step edits (like drag/resize sequences or batch changes) as a single operation.
+
+```typescript
+import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';
+import { DiagramComponent } from '@syncfusion/ej2-angular-diagrams';
+import * as signalR from '@microsoft/signalr';
+
+@Component({
+ selector: 'app-diagram-collaborative',
+ template: `
+
+
+ `,
+ styleUrls: ['./diagram-collaborative.component.css']
+})
+export class DiagramCollaborativeComponent implements OnInit, OnDestroy {
+ @ViewChild('diagram')
+ diagramComponent!: DiagramComponent;
+
+ private connection: signalR.HubConnection | null = null;
+ private roomName: string = 'Syncfusion';
+ private diagramId: string = 'diagram';
+ nodes: any[] = [];
+ connectors: any[] = [];
+
+ constructor() {}
+
+ ngOnInit(): void {
+ this.initializeConnection();
+ }
+
+ ngOnDestroy(): void {
+ if (this.connection && this.connection.state === signalR.HubConnectionState.Connected) {
+ this.connection.stop();
+ }
+ }
+
+ private initializeConnection(): void {
+ // Initialize SignalR connection
+ if (this.connection === null) {
+ this.connection = new signalR.HubConnectionBuilder()
+ .withUrl('<
>', {
+ skipNegotiation: true,
+ transport: signalR.HttpTransportType.WebSockets
+ })
+ .withAutomaticReconnect()
+ .build();
+
+ // Listen for remote changes from other users
+ this.connection.on('ReceiveData', (diagramChanges: string[]) => {
+ if (diagramChanges && diagramChanges.length > 0) {
+ if (this.diagramComponent && this.diagramComponent.setDiagramUpdates) {
+ this.diagramComponent.setDiagramUpdates(diagramChanges);
+ }
+ }
+ });
+
+ this.connection.start()
+ .then(() => {
+ console.log('Connected to SignalR Hub');
+ })
+ .catch((error: Error) => {
+ console.error('Connection failed:', error);
+ });
+ }
+ }
+
+ onHistoryChange(args: any): void {
+ if (args && this.diagramComponent && this.diagramComponent.getDiagramUpdates) {
+ // Get diagram updates (incremental changes) and send to hub
+ const diagramChanges = this.diagramComponent.getDiagramUpdates(args);
+
+ // When enableCollaborativeEditing is enabled, retrieve diagramChanges only after the group action completes.
+ if (diagramChanges && diagramChanges.length > 0) {
+ // Send changes to the SignalR Hub for broadcasting
+ if (this.connection && this.connection.state === signalR.HubConnectionState.Connected) {
+ this.connection.invoke('BroadcastToOtherUsers', diagramChanges, this.roomName)
+ .catch((err: Error) => {
+ console.error('Send failed:', err);
+ });
+ }
+ }
+ }
+ }
+}
+```
+
+## Conflict policy (optimistic concurrency) in Angular application
+
+To maintain consistency during collaborative editing, each user applies incoming changes using [setDiagramUpdates](https://ej2.syncfusion.com/angular/documentation/api/diagram/index-default#setdiagramupdates). After applying changes, the Angular sample synchronizes its `userVersion` with the `serverVersion` through the `UpdateVersion` event. This version-based approach ensures conflicts are resolved without locking, allowing real-time responsiveness while preserving data integrity.
+
+Add the following code in the Angular sample application:
+```typescript
+import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';
+import { DiagramComponent } from '@syncfusion/ej2-angular-diagrams';
+import * as signalR from '@microsoft/signalr';
+
+@Component({
+ selector: 'app-diagram-conflict-resolution',
+ template: `
+
+
+
+
+ `,
+ styleUrls: ['./diagram-conflict-resolution.component.css']
+})
+export class DiagramConflictResolution implements OnInit, OnDestroy {
+ @ViewChild('diagram')
+ diagramComponent!: DiagramComponent;
+
+ private userVersion: number = 0;
+ private connection: signalR.HubConnection | null = null;
+ private roomName: string = 'Syncfusion';
+ nodes: NodeModel[] = [];
+ connectors: ConnectorModel[] = [];
+
+ constructor() {}
+
+ ngOnInit(): void {
+ this.initializeConnection();
+ }
+
+ ngOnDestroy(): void {
+ if (this.connection && this.connection.state === signalR.HubConnectionState.Connected) {
+ this.connection.stop();
+ }
+ }
+
+ private initializeConnection(): void {
+ // Initialize SignalR connection
+ if (this.connection === null) {
+ this.connection = new signalR.HubConnectionBuilder()
+ .withUrl('<>', {
+ skipNegotiation: true,
+ transport: signalR.HttpTransportType.WebSockets
+ })
+ .withAutomaticReconnect()
+ .build();
+
+ // Listen for remote changes with version tracking
+ this.connection.on('ReceiveData', (diagramChanges: string[], serverVersion: number) => {
+ this.applyRemoteDiagramChanges(diagramChanges, serverVersion);
+ });
+
+ // Listen for conflict notifications
+ this.connection.on('ShowConflict', () => {
+ this.showConflict();
+ });
+
+ // Listen for explicit version updates
+ this.connection.on('UpdateVersion', (serverVersion: number) => {
+ this.updateVersion(serverVersion);
+ });
+
+ this.connection.start()
+ .then(() => {
+ console.log('Connected to SignalR Hub');
+ })
+ .catch((error: Error) => {
+ console.error('Connection failed:', error);
+ });
+ }
+ }
+
+ private applyRemoteDiagramChanges(diagramChanges: string[], serverVersion: number): void {
+ // Sets diagram updates to current diagram
+ if (this.diagramComponent && this.diagramComponent.setDiagramUpdates) {
+ this.diagramComponent.setDiagramUpdates(diagramChanges);
+ }
+ // Update user version to server version after applying changes
+ this.userVersion = serverVersion;
+ }
+
+ // Capture local changes and send with version and edited IDs
+ onHistoryChange(args: any): void {
+ if (!this.diagramComponent) {
+ return;
+ }
+
+ const diagramChanges = this.diagramComponent.getDiagramUpdates(args);
+ if (diagramChanges && diagramChanges.length > 0) {
+ const editedElements = this.getEditedElements(args);
+ // Send changes with version and edited element IDs
+ if (this.connection && this.connection.state === signalR.HubConnectionState.Connected) {
+ this.connection.invoke('BroadcastToOtherUsers', diagramChanges, this.userVersion, editedElements, this.roomName)
+ .catch((err: Error) => {
+ console.error('Send failed:', err);
+ });
+ }
+ }
+ }
+
+ private getEditedElements(args: any): string[] {
+ // Extract and return IDs of affected nodes/connectors from args
+ // TODO: implement extraction logic based on historyChange event args
+ return [];
+ }
+
+ private updateVersion(serverVersion: number): void {
+ this.userVersion = serverVersion;
+ }
+
+ private showConflict(): void {
+ // Show notification to inform user their update was rejected due to conflict
+ const message = "Your changes conflicted with another user's updates and were not applied. Please refresh to see the latest version.";
+ alert(message);
+ }
+}
+```
\ No newline at end of file
diff --git a/ej2-angular/diagram/collaborative-editing/collaborative-editing-hub.md b/ej2-angular/diagram/collaborative-editing/collaborative-editing-hub.md
new file mode 100644
index 00000000000..45747628819
--- /dev/null
+++ b/ej2-angular/diagram/collaborative-editing/collaborative-editing-hub.md
@@ -0,0 +1,271 @@
+---
+layout: post
+title: SignalR Hub for Collaborative Angular Diagrams | Syncfusion
+description: Checkout and learn to implement SignalR hub services with Redis for real-time collaborative editing in Syncfusion Angular Diagram.
+control: Diagram
+documentation: ug
+platform: ej2-angular
+domainurl: ##DomainURL##
+---
+
+# SignalR hub configuration for collaborative editing
+
+## Overview
+
+This guide explains how to configure ASP.NET Core SignalR with Redis for real-time collaborative editing in an Angular application. It covers creating the backend server, installing packages, configuring SignalR, implementing the hub, handling conflicts, and managing Redis cleanup.
+
+## Prerequisites
+
+* [System requirements for ASP.NET Core components](https://ej2.syncfusion.com/aspnetcore/documentation/system-requirements)
+
+## How to create ASP.NET Core app
+
+Create an ASP.NET Core Web App using the Razor Pages template in Visual Studio via [Microsoft Templates Guide](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-8.0&tabs=visual-studio#create-a-razor-pages-web-app).
+
+## How to install required packages
+
+Open the NuGet package manager in Visual Studio (Tools → NuGet Package Manager → Manage NuGet Packages for Solution), then search and install the following packages in the application.
+
+* Microsoft.AspNetCore.SignalR.StackExchangeRedis
+* Microsoft.Azure.SignalR
+* Microsoft.Extensions.Caching.StackExchangeRedis
+* StackExchange.Redis
+
+## Configure SignalR with Redis
+
+To enable real-time collaboration, add your Redis connection string in `appsettings.json`, then register a singleton `IConnectionMultiplexer` in `Program.cs` to efficiently reuse the Redis connection. Finally, configure `SignalR` by registering its services in `Program.cs` to enable hub-based communication between Angular app and the ASP.NET Core hub server.
+
+Add the following configuration to the `appsettings.json` file:
+```json
+{
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning",
+ "Microsoft.Hosting.Lifetime": "Information"
+ }
+ },
+ "AllowedHosts": "*",
+ "ConnectionStrings": {
+ "RedisConnectionString": "<>"
+ }
+}
+```
+Add the following configuration to the `Program.cs` file:
+```csharp
+using StackExchange.Redis;
+
+--------------
+--------------
+// Redis connection
+builder.Services.AddSingleton(sp =>
+{
+ string connectionString = builder.Configuration.GetConnectionString("RedisConnectionString");
+ return ConnectionMultiplexer.Connect(connectionString);
+});
+
+// SignalR configuration
+builder.Services.AddSignalR();
+
+// Map the hub connection
+app.MapHub("/diagramHub");
+
+----------------
+----------------
+
+```
+
+## Implement DiagramHub
+
+Create a file named `DiagramHub.cs` and define a class `DiagramHub` that inherits from Hub. Implement the `OnConnectedAsync` method to notify clients when a new connection is established. Add a `JoinDiagram` method to manage SignalR groups for collaborative sessions. This method allows users to join specific rooms, broadcasts updates to all participants in the same room (excluding the sender), and ensures proper cleanup of group memberships when users disconnect to prevent stale sessions.
+
+```csharp
+public class DiagramHub : Hub
+{
+ private readonly ILogger _logger;
+
+ public DiagramHub(ILogger logger)
+ {
+ _logger = logger;
+ }
+
+ // 1) Triggers when a user connects to the hub
+ public override Task OnConnectedAsync()
+ {
+ // Send a unique connection ID back to the user
+ Clients.Caller.SendAsync("OnConnectedAsync", Context.ConnectionId);
+ return base.OnConnectedAsync();
+ }
+
+ // 2) Add the current connection to a SignalR group (room)
+ public async Task JoinDiagram(string roomName)
+ {
+ string userId = Context.ConnectionId;
+
+ // Store the room name in the connection context for later retrieval (e.g., on disconnect)
+ Context.Items["roomName"] = roomName;
+
+ // Add this connection to the specified group (room)
+ await Groups.AddToGroupAsync(userId, roomName);
+ }
+
+ // 3) Broadcasts updates to other users in the same room (excludes the sender)
+ public async Task BroadcastToOtherUsers(List payloads, string roomName)
+ {
+ // Send the updates to all other connections in the room
+ await Clients.OthersInGroup(roomName).SendAsync("ReceiveData", payloads);
+ }
+
+ // 4) Removes the connection from its room when the user disconnects
+ public override async Task OnDisconnectedAsync(Exception? exception)
+ {
+ // Retrieve previously stored room name
+ string? roomName = Context.Items.TryGetValue("roomName", out var value) ? value as string : null;
+
+ if (!string.IsNullOrEmpty(roomName))
+ {
+ await Groups.RemoveFromGroupAsync(Context.ConnectionId, roomName);
+ }
+ await base.OnDisconnectedAsync(exception);
+ }
+}
+```
+
+## Conflict resolution (optimistic concurrency)
+
+Collaborative edits use a version-based optimistic concurrency model. In `BroadcastToOtherUsers` method includes the user’s current `userVersion`, payloads, and the IDs of elements affected by the edit (editedElementIds). Instead of locking, the server validates the version for every update. If discrepancies occur, the server rejects or re-applies changes as needed. This approach ensures data consistency while maintaining real-time responsiveness for all participants. Add the `RedisService` to the `Program.cs` file.
+
+Add the following code in the `DiagramHub` class:
+
+```csharp
+using Microsoft.AspNetCore.SignalR;
+
+public class DiagramUpdateMessage
+{
+ public string SourceConnectionId { get; set; } = "";
+ public long Version { get; set; }
+ public List? ModifiedElementIds { get; set; }
+}
+
+public class DiagramHub : Hub
+{
+ private readonly ILogger _logger;
+ private readonly IRedisService _redisService;
+
+ public DiagramHub(ILogger logger, IRedisService redisService)
+ {
+ _logger = logger;
+ _redisService = redisService;
+ }
+
+ // Triggers the method when the user send the data to other users via signalR
+ public async Task BroadcastToOtherUsers(List payloads, long userVersion, List? elementIds, string roomName)
+ {
+ try
+ {
+ string versionKey = "diagram:version";
+ // Try to accept based on expected version (CAS via Lua script)
+ (bool accepted, long serverVersion) = await _redisService.CompareAndIncrementAsync(versionKey, userVersion);
+
+ if (!accepted)
+ {
+ // Check for overlaps since user's version
+ List recentUpdates = await GetUpdatesSinceVersionAsync(userVersion, maxScan: 200);
+ HashSet recentlyTouched = new HashSet(StringComparer.Ordinal);
+ foreach (DiagramUpdateMessage message in recentUpdates)
+ {
+ if (message.ModifiedElementIds == null) continue;
+ foreach (string id in message.ModifiedElementIds)
+ recentlyTouched.Add(id);
+ }
+
+ List? overlaps = elementIds?.Where(id => recentlyTouched.Contains(id)).Distinct().ToList();
+ if (overlaps?.Count > 0)
+ {
+ // Reject and notify user to conflict message
+ await Clients.Caller.SendAsync("ShowConflict");
+ return;
+ }
+
+ // Accept non-overlapping stale update: increment once more
+ (bool _, long newServerVersion) = await _redisService.CompareAndIncrementAsync(versionKey, serverVersion);
+ serverVersion = newServerVersion;
+ }
+ // Store update in Redis history
+ DiagramUpdateMessage update = new DiagramUpdateMessage
+ {
+ SourceConnectionId = connectionId,
+ Version = serverVersion,
+ ModifiedElementIds = elementIds
+ };
+ await StoreUpdateInRedis(update);
+ // Broadcast to others in the same room, including serverVersion
+ await Clients.OthersInGroup(roomName).SendAsync("ReceiveData", payloads, serverVersion);
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Error broadcasting diagram updates");
+ }
+ }
+
+ // Compare version from user's interactions and filter the updates.
+ private async Task> GetUpdatesSinceVersionAsync(long sinceVersion, int maxScan = 200)
+ {
+ string historyKey = "diagram_updates_history";
+ long length = await _redisService.ListLengthAsync(historyKey);
+ if (length == 0) return Array.Empty();
+
+ long start = Math.Max(0, length - maxScan);
+ long end = length - 1;
+
+ var range = await _redisService.ListRangeAsync(historyKey, start, end);
+
+ var results = new List(range.Length);
+ foreach (var item in range)
+ {
+ if (item.IsNullOrEmpty) continue;
+ var update = JsonSerializer.Deserialize(item.ToString());
+ if (update is not null && update.Version > sinceVersion && update.SourceConnectionId != Context.ConnectionId)
+ results.Add(update);
+ }
+ results.Sort((a, b) => a.Version.CompareTo(b.Version));
+ return results;
+ }
+}
+```
+
+On acceptance, the hub broadcasts the diagram changes along with the authoritative `serverVersion` to all other users in the same room (ReceiveData).
+
+## Redis cleanup strategy
+
+To prevent unbounded memory growth and maintain stable performance, implement one or both of the following:
+* Keep only the last K versions
+ * Maintain a fixed-size history (e.g., the last 200 updates) and trim older entries after each push.
+ * Retains only recent updates needed for conflict checks and recovery.
+* Apply TTL (Time-to-Live) to keys
+ * Set expiration on Redis keys that store version and history data.
+ * Bounds memory usage and automatically cleans up stale sessions.
+
+```csharp
+// In IRedisService
+Task SetAsync(string key, T value, TimeSpan? expiry = null);
+// In RedisService
+public async Task SetAsync(string key, T value, TimeSpan? expiry = null)
+{
+ try
+ {
+ string serializedValue = JsonSerializer.Serialize(value);
+ return await _database.StringSetAsync(key, serializedValue, expiry);
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Error setting key {Key}", key);
+ return false;
+ }
+}
+
+// For example, Applying TTL to the version key
+const string versionKey = "diagram:version";
+long version = 5;
+await _redisService.SetAsync(versionKey, version, TimeSpan.FromHours(1));
+```
\ No newline at end of file
diff --git a/ej2-angular/diagram/collaborative-editing/collaborative-editing.md b/ej2-angular/diagram/collaborative-editing/collaborative-editing.md
new file mode 100644
index 00000000000..0a56309077c
--- /dev/null
+++ b/ej2-angular/diagram/collaborative-editing/collaborative-editing.md
@@ -0,0 +1,41 @@
+---
+layout: post
+title: Collaborative Editing in Syncfusion Angular Diagram | Syncfusion
+description: Checkout and learn to set up real-time collaborative editing in Syncfusion Angular Diagram using WebSocket and Redis.
+control: Diagram
+documentation: ug
+platform: ej2-angular
+domainurl: ##DomainURL##
+---
+
+# Collaborative editing in Angular Diagram
+
+Collaborative editing enables multiple users to edit diagrams simultaneously in real-time, providing a seamless collaborative experience in Angular applications.
+
+## Purpose
+
+Collaborative editing in Diagram allows multiple users to edit and review diagrams in real time, ensuring accuracy, consistency, and faster updates. It streamlines teamwork by reducing delays, improving communication through comments, and maintaining data integrity with version tracking.
+
+## Configuration
+
+* Use `SignalR` for real-time communication between the Angular app and a ASP.NET Core SignalR server
+* Use `Redis` as a temporary data store to manage updates and version state
+* Basic setup:
+ * Configure a SignalR server. [Refer link](./collaborative-editing-hub)
+ * Connect the Angular app to the server. [Refer link](./angular-app-collaborative-editing)
+
+## Limitations
+
+* Default deployment
+ * By default, a single server instance works without additional setup. For multi-instance (scale-out) deployments, configure a `SignalR` backplane (e.g., Redis) and use a shared `Redis` store so all nodes share group messages and version state consistently.
+* View-only interactions
+ * Zoom and pan are local to each user and are not synchronized, so collaborators may view different areas of the diagram.
+* Unsupported synchronized settings
+ * Changes to [pageSettings](../page-settings), [contextMenuSettings](../context-menu), [snapSettings](../grid-lines#snapping), [rulerSettings](../ruler), [layout](../automatic-layout/automatic-layout), and [scrollSettings](../scroll-settings) are not propagated to other users and apply only locally.
+
+>**Note:**
+Collaboration will work when [DiagramCollaboration](https://ej2.syncfusion.com/angular/documentation/diagram/getting-started#module-injection) and [UndoRedo](https://ej2.syncfusion.com/angular/documentation/diagram/getting-started#module-injection) modules are enabled. Collaboration applies to actions that raise the [historyChange](https://ej2.syncfusion.com/angular/documentation/api/diagram/index-default#historychange) event.
+
+## Sample code
+
+A complete working example is available in the [Syncfusion Angular Collaborative Editing GitHub repository](https://github.com/syncfusion/ej2-showcase-angular-diagram-collaborative-editing)
\ No newline at end of file
diff --git a/ej2-angular/diagram/getting-started.md b/ej2-angular/diagram/getting-started.md
index 11f0ce86376..618d9a9da87 100644
--- a/ej2-angular/diagram/getting-started.md
+++ b/ej2-angular/diagram/getting-started.md
@@ -94,7 +94,6 @@ Combined CSS files are available in the Essential JS 2 package root folder. Refe
@import '../node_modules/@syncfusion/ej2-angular-diagrams/styles/material3.css';
@import "../node_modules/@syncfusion/ej2-angular-base/styles/material3.css";
@import "../node_modules/@syncfusion/ej2-popups/styles/material3.css";
-@import "../node_modules/@syncfusion/ej2-splitbuttons/styles/material3.css";
@import "../node_modules/@syncfusion/ej2-navigations/styles/material3.css";
```
diff --git a/ej2-angular/diagram/images/create-new-mysql.png b/ej2-angular/diagram/images/create-new-mysql.png
new file mode 100644
index 00000000000..a9bfe5f785b
Binary files /dev/null and b/ej2-angular/diagram/images/create-new-mysql.png differ
diff --git a/ej2-angular/diagram/images/describe-mysql-table.png b/ej2-angular/diagram/images/describe-mysql-table.png
new file mode 100644
index 00000000000..5ff58b4df4b
Binary files /dev/null and b/ej2-angular/diagram/images/describe-mysql-table.png differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/ConfigSsmsStep1.jpg b/ej2-angular/diagram/images/microsoft-sql-server-images/ConfigSsmsStep1.jpg
new file mode 100644
index 00000000000..c357c007554
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/ConfigSsmsStep1.jpg differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/ConfigSsmsStep2.png b/ej2-angular/diagram/images/microsoft-sql-server-images/ConfigSsmsStep2.png
new file mode 100644
index 00000000000..5f13bed1e31
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/ConfigSsmsStep2.png differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/ConfigSsmsStep3.PNG b/ej2-angular/diagram/images/microsoft-sql-server-images/ConfigSsmsStep3.PNG
new file mode 100644
index 00000000000..f90dedd0999
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/ConfigSsmsStep3.PNG differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseQuery.png b/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseQuery.png
new file mode 100644
index 00000000000..778e8f96211
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseQuery.png differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseQuery2.png b/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseQuery2.png
new file mode 100644
index 00000000000..77ec0aa2c04
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseQuery2.png differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseStep1.png b/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseStep1.png
new file mode 100644
index 00000000000..02ec69e2249
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseStep1.png differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseStep2.png b/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseStep2.png
new file mode 100644
index 00000000000..56a12b4bb2e
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseStep2.png differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseStep3.png b/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseStep3.png
new file mode 100644
index 00000000000..77a09af1ca8
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseStep3.png differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseType2.png b/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseType2.png
new file mode 100644
index 00000000000..c51a2969126
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/CreateDataBaseType2.png differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/CreateTable.png b/ej2-angular/diagram/images/microsoft-sql-server-images/CreateTable.png
new file mode 100644
index 00000000000..8eacb4214ec
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/CreateTable.png differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/InsertData.png b/ej2-angular/diagram/images/microsoft-sql-server-images/InsertData.png
new file mode 100644
index 00000000000..4386e597dc5
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/InsertData.png differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/SQLServerInstallerStep1.png b/ej2-angular/diagram/images/microsoft-sql-server-images/SQLServerInstallerStep1.png
new file mode 100644
index 00000000000..a3b553b2885
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/SQLServerInstallerStep1.png differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/SQLServerInstallerStep2.png b/ej2-angular/diagram/images/microsoft-sql-server-images/SQLServerInstallerStep2.png
new file mode 100644
index 00000000000..64e7a62af83
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/SQLServerInstallerStep2.png differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/SQLServerInstallerStep3.png b/ej2-angular/diagram/images/microsoft-sql-server-images/SQLServerInstallerStep3.png
new file mode 100644
index 00000000000..c451cc3a822
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/SQLServerInstallerStep3.png differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/SQLServerInstallerStep4.jpg b/ej2-angular/diagram/images/microsoft-sql-server-images/SQLServerInstallerStep4.jpg
new file mode 100644
index 00000000000..384a890b80c
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/SQLServerInstallerStep4.jpg differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/SSMSInstallStep1.png b/ej2-angular/diagram/images/microsoft-sql-server-images/SSMSInstallStep1.png
new file mode 100644
index 00000000000..a9063c686c9
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/SSMSInstallStep1.png differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/SSMSInstallStep2.jpg b/ej2-angular/diagram/images/microsoft-sql-server-images/SSMSInstallStep2.jpg
new file mode 100644
index 00000000000..f7686dc0749
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/SSMSInstallStep2.jpg differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/SSMSInstallStep3.png b/ej2-angular/diagram/images/microsoft-sql-server-images/SSMSInstallStep3.png
new file mode 100644
index 00000000000..04200981c7f
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/SSMSInstallStep3.png differ
diff --git a/ej2-angular/diagram/images/microsoft-sql-server-images/ViewData.png b/ej2-angular/diagram/images/microsoft-sql-server-images/ViewData.png
new file mode 100644
index 00000000000..69cc28f177f
Binary files /dev/null and b/ej2-angular/diagram/images/microsoft-sql-server-images/ViewData.png differ
diff --git a/ej2-angular/diagram/images/mysql-apply-config.png b/ej2-angular/diagram/images/mysql-apply-config.png
new file mode 100644
index 00000000000..739745fa68e
Binary files /dev/null and b/ej2-angular/diagram/images/mysql-apply-config.png differ
diff --git a/ej2-angular/diagram/images/mysql-config-type.png b/ej2-angular/diagram/images/mysql-config-type.png
new file mode 100644
index 00000000000..385fc8ee59e
Binary files /dev/null and b/ej2-angular/diagram/images/mysql-config-type.png differ
diff --git a/ej2-angular/diagram/images/mysql-installer.png b/ej2-angular/diagram/images/mysql-installer.png
new file mode 100644
index 00000000000..528307568a5
Binary files /dev/null and b/ej2-angular/diagram/images/mysql-installer.png differ
diff --git a/ej2-angular/diagram/images/mysql-output.png b/ej2-angular/diagram/images/mysql-output.png
new file mode 100644
index 00000000000..0dd19e69604
Binary files /dev/null and b/ej2-angular/diagram/images/mysql-output.png differ
diff --git a/ej2-angular/diagram/images/mysql-service-name.png b/ej2-angular/diagram/images/mysql-service-name.png
new file mode 100644
index 00000000000..57ccccc04b1
Binary files /dev/null and b/ej2-angular/diagram/images/mysql-service-name.png differ
diff --git a/ej2-angular/diagram/images/mysql-setup-type.png b/ej2-angular/diagram/images/mysql-setup-type.png
new file mode 100644
index 00000000000..c9d021e4987
Binary files /dev/null and b/ej2-angular/diagram/images/mysql-setup-type.png differ
diff --git a/ej2-angular/diagram/microsoft-sql-server.md b/ej2-angular/diagram/microsoft-sql-server.md
new file mode 100644
index 00000000000..89d7215abee
--- /dev/null
+++ b/ej2-angular/diagram/microsoft-sql-server.md
@@ -0,0 +1,873 @@
+---
+layout: post
+title: Angular Diagram - Microsoft SQL Server | Syncfusion®
+description: Learn how to integrate the Syncfusion® Angular Diagram with Microsoft SQL Server using an ASP.NET Core Web API to retrieve, manage, and update diagram data.
+control: diagram
+keywords: adaptors, customadaptor, microsoftSQL, remotedata
+platform: ej2-angular
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Connecting SQL Server to Angular Diagram using ASP.NET Core Web API
+
+This guide explains how to load and visualize organizational chart data stored in a Microsoft SQL Server database using the Syncfusion® Angular Diagram component. It demonstrates how to configure SQL Server, create the required database schema, expose the data through an ASP.NET Core Web API, and bind the API response to a Angular application to render an organizational chart diagram.
+
+**What is Microsoft SqlClient?**
+
+[Microsoft.Data.SqlClient](https://www.nuget.org/packages/Microsoft.Data.SqlClient) is the official .NET data provider used to connect ASP.NET Core applications to Microsoft SQL Server. It enables applications to execute SQL queries, call stored procedures, and read or write data securely using strongly supported APIs from Microsoft. SqlClient is commonly used in Web APIs where precise control over database access, performance, and security is required.
+
+**Key Benefits of SqlClient:**
+
+- **Secure by design**: Enforces parameterized queries to help prevent SQL injection attacks.
+- **High performance**: Provides efficient, low‑level access to SQL Server with minimal overhead.
+- **Asynchronous support**: Supports async database operations for better scalability in web APIs.
+- **Full SQL control**: Allows precise control over SQL queries, stored procedures, and transactions.
+- **Official Microsoft provider**: Maintained and supported by Microsoft for long‑term compatibility with SQL Server.
+
+## Prerequisites
+
+Ensure the following software and packages are installed before proceeding:
+
+| Software / Package | Version | Purpose |
+|-------------------|---------|---------|
+| Node.js | 18.x or later | Angular development runtime |
+| Angular CLI | 16 or later | Create, build, and run Angular application |
+| .NET SDK | 8.0 or later | Build and run the ASP.NET Core Web API |
+| Microsoft SQL Server | 2019 or later | Relational database server |
+| SQL Server Management Studio (SSMS) | Latest | Manage SQL Server databases and execute queries |
+| Microsoft.Data.SqlClient (NuGet) | 7.0.0 or later | SQL Server connectivity for ASP.NET Core |
+| Syncfusion.EJ2.AspNet.Core (NuGet) | 33.1.45 or later | Server‑side helpers for DataManager operations |
+| @syncfusion/ej2-angular-diagrams (npm) | 33.1.45 or later | Angular Diagram component |
+
+## Installing and configuring Microsoft SQL Server and SQL Server Management Studio (SSMS)
+
+To store and manage diagram data, Microsoft SQL Server must be installed and configured before integrating it with the ASP.NET Core Web API. This section explains how to install SQL Server, install SQL Server Management Studio (SSMS), and preparing the environment for database creation. This setup is a one‑time process and only needs to be completed before configuring the backend API.
+
+### Installing Microsoft SQL Server
+
+Microsoft SQL Server provides the relational database engine used to store organizational chart data required by the diagram component.
+
+Follow these steps to install SQL Server:
+
+1. Download the Microsoft SQL Server installer for the required edition from the official page: [https://www.microsoft.com/en-in/sql-server/sql-server-downloads] (https://www.microsoft.com/en-in/sql-server/sql-server-downloads). For this guide, **SQL Server Express** is selected. It is a free, lightweight edition suitable for development, testing, and sample applications.
+
+2. Open the downloaded installer file to launch the setup wizard.
+
+3. Choose the installation type (for example, **Basic** for quick setup or **Custom** for advanced configuration).
+
+
+
+4. Select the installation location when prompted and proceed with the installation.
+
+
+
+5. Wait for the setup process to complete. Once finished, a confirmation message indicates that SQL Server has been installed successfully.
+
+
+
+At this stage, the SQL Server database engine is installed, but a management tool is required to interact with the server.
+
+
+### Installing SQL Server Management Studio (SSMS)
+
+SQL Server Management Studio (SSMS) is a graphical interface used to connect to SQL Server, manage databases, execute queries, and inspect data.
+
+Follow these steps to install SSMS:
+
+1. From the SQL Server installer completion screen, click the **Install SSMS** button. This action redirects you to the official Microsoft download page.
+
+
+
+
+
+2. Download the SSMS installer.
+
+3. Open the downloaded installer file. This launches the Visual Studio Installer.
+
+4. Select the required workloads (the default selections are sufficient for most users).
+
+
+
+5. Click the **Install** button and wait for the installation to complete.
+
+
+
+6. Once installation finishes, close the installer.
+
+
+### Connecting to SQL Server using SQL Server Management Studio (SSMS)
+
+After installing SQL Server Management Studio (SSMS), connect to the SQL Server instance to begin creating databases and tables.
+
+1. Launch **SQL Server Management Studio** from the Windows Start menu or application launcher.
+
+
+
+2. In the **Connect to Server** dialog, configure the connection properties:
+ - **Server name**: Required (for example, **localhost** or **.\SQLEXPRESS**)
+ - **Authentication**: Windows Authentication (recommended for local development)
+ - Enable **Trust server certificate** if prompted
+
+
+
+3. Click the **Connect** button to establish the connection.
+
+4. After a successful connection, the **Object Explorer** displays the connected SQL Server instance and its available components such as databases, security settings, and server objects.
+
+
+
+The SQL Server environment is now ready for database creation and data configuration.
+
+
+## Creating the database and schema
+
+After connecting to SQL Server using SSMS, the next step is to create the database and schema required to store organizational chart data. The schema represents parent–child relationships that are rendered as nodes and connectors in the Syncfusion® Angular Diagram component.
+
+### Creating the database
+
+A dedicated database named **DiagramDb** is used to store organizational chart data. The database can be created using either the SSMS user interface or a SQL script.
+
+#### Manual approach (using SSMS UI)
+
+1. In **Object Explorer**, right‑click the **Databases** folder.
+
+
+2. Select **New Database** from the context menu.
+3. Enter **DiagramDb** as the database name.
+4. Click the **OK** button to create the database.
+
+
+
+#### Query‑Based approach
+
+Alternatively, the database can be created using a SQL query.
+
+- Click **New Query** button in the SSMS toolbar to open the query editor.
+
+ 
+
+- Paste the following SQL script into the query editor and click **Execute** to run the query.
+
+ ```sql
+-- Create Database
+IF NOT EXISTS (SELECT * FROM sys.databases WHERE name = 'DiagramDb')
+BEGIN
+ CREATE DATABASE DiagramDb;
+END
+GO
+```
+
+
+
+### Creating the table
+
+Create a table named **LayoutNode** to store the data that defines the structure of the diagram.
+
+- Each record represents a diagram node.
+- The **Id** column uniquely identifies a node.
+- The **ParentId** column establishes parent–child relationships.
+- Root‑level nodes contain a **NULL** value for **ParentId**.
+
+Run the following SQL script in the query editor to create the table in the **DiagramDb** database.
+
+```sql
+-- Create LayoutNode Table
+IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'LayoutNode')
+BEGIN
+ CREATE TABLE dbo.LayoutNode (
+ Id VARCHAR(50) PRIMARY KEY,
+ ParentId VARCHAR(50) NULL,
+ Role VARCHAR(100) NOT NULL
+ );
+END
+GO
+```
+
+
+
+### Inserting sample data
+
+Sample records can be added to the **LayoutNode** table to populate the database with initial data.
+
+Run the following SQL script in the query editor to insert sample records into the table.
+
+```sql
+-- Insert Sample Data (Optional)
+INSERT INTO dbo.LayoutNode (Id, ParentId, Role) VALUES
+('parent', NULL, 'Board'),
+('1', 'parent', 'General Manager'),
+('2', '1', 'Human Resource Manager'),
+('3', '2', 'Trainers'),
+('4', '2', 'Recruiting Team'),
+('5', '2', 'Finance Asst. Manager'),
+('6', '1', 'Design Manager'),
+('7', '6', 'Design Supervisor'),
+('8', '6', 'Development Supervisor'),
+('9', '6', 'Drafting Supervisor'),
+('10', '1', 'Operations Manager'),
+('11', '10', 'Statistics Department'),
+('12', '10', 'Logistics Department'),
+('16', '1', 'Marketing Manager'),
+('17', '16', 'Overseas Sales Manager'),
+('18', '16', 'Petroleum Manager'),
+('20', '16', 'Service Department Manager'),
+('21', '16', 'Quality Control Department');
+GO
+```
+
+
+
+
+### Verifying the inserted data
+
+Verify that the records have been created successfully by querying the **LayoutNode** table.
+
+Run the following SQL query in the query editor to view the inserted data.
+
+```sql
+SELECT * FROM dbo.LayoutNode;
+```
+
+
+
+
+## Integrating SQL Server with ASP.NET Core Web API
+
+In this section, an ASP.NET Core Web API project is created and configured to connect to SQL Server using **Microsoft.Data.SqlClient**. The API retrieves organizational chart layout data from the database and returns it in a format that can be consumed by the Syncfusion® Angular Diagram component.
+
+### Step 1: Create the ASP.NET Core Web API project
+
+#### Creating the Web API project using Visual Studio
+
+The ASP.NET Core Web API project can be created using Visual Studio as follows:
+
+1. Open **Visual Studio**.
+2. Select **Create a new project**.
+3. Choose **ASP.NET Core Web API** and click **Next**.
+4. Enter the project name as **Angular_Diagram_MSSQL.Server**.
+5. Select the project location and click **Next**.
+6. Choose the target framework (for example, **.NET 8.0**).
+7. Keep authentication set to **None**.
+8. Click **Create**.
+
+Visual Studio generates a new ASP.NET Core Web API project with default files such as **Program.cs** and **appsettings.json**.
+
+#### Creating the Web API project using Visual Studio Code
+
+Alternatively, the project can be created using the .NET CLI, which is commonly used with Visual Studio Code.
+
+1. Open a terminal or command prompt.
+2. Navigate to the directory where you want to create the server application.
+3. Run the following commands:
+
+```bash
+dotnet new webapi -n Angular_Diagram_MSSQL.Server
+cd Angular_Diagram_MSSQL.Server
+```
+
+### Step 2: Installing required NuGet packages
+
+After creating the ASP.NET Core Web API project, install the following required NuGet packages.
+
+- **Microsoft.Data.SqlClient** – Provides connectivity to Microsoft SQL Server.
+- **Syncfusion.EJ2.AspNet.Core** – Provides server‑side support for `DataManager` operations.
+
+The required NuGet packages can be installed using any one of the following methods.
+
+#### Method 1: Using Package Manager Console (Visual Studio)
+
+1. Open **Visual Studio**.
+2. Navigate to **Tools → NuGet Package Manager → Package Manager Console**.
+3. Run the following commands:
+
+```powershell
+Install-Package Microsoft.Data.SqlClient
+Install-Package Syncfusion.EJ2.AspNet.Core
+```
+
+#### Method 2: Using NuGet Package Manager UI (Visual Studio)
+
+1. Open Visual Studio.
+2. Navigate to Tools → NuGet Package Manager → Manage NuGet Packages for Solution.
+3. Select the Browse tab.
+4. Search for and install each package individually:
+ - **Microsoft.Data.SqlClient**
+ - **Syncfusion.EJ2.AspNet.Core**
+
+#### Method 3: Using .NET CLI / Integrated Terminal (Visual Studio Code)
+
+The required packages can also be installed using the .NET CLI. Ensure the commands are executed from the Web API project directory.
+
+```powershell
+dotnet add package Microsoft.Data.SqlClient
+dotnet add package Syncfusion.EJ2.AspNet.Core
+```
+
+### Step 3: Create the data model
+
+A data model defines how data stored in a database table is represented within the ASP.NET Core application. It maps database records to C# objects that can be used by the Web API and returned to the Syncfusion® Angular Diagram component.
+
+In this application, the data model maps directly to the **LayoutNode** table created in SQL Server.
+
+> This model does not create or modify database tables. It only represents the existing SQL Server schema within the application.
+
+**Instructions:**
+
+1. Create a new folder named **Data** in the application project.
+2. Inside the **Data** folder, create a new file named **LayoutNode.cs**.
+3. Define the `LayoutNode` class with the following code:
+
+```csharp
+using System.ComponentModel.DataAnnotations;
+
+namespace Angular_Diagram_MSSQL.Server.Data
+{
+ ///
+ /// Represents a node in the layout hierarchy used by the diagram.
+ ///
+ public class LayoutNode
+ {
+ ///
+ /// Gets or sets the unique identifier for the layout node.
+ ///
+ ///
+ /// This property serves as the primary key for the node.
+ ///
+ [Key]
+ public string Id { get; set; } = null!;
+
+ ///
+ /// Gets or sets the identifier of the parent node.
+ ///
+ ///
+ /// A null value indicates that this node is a root-level node.
+ ///
+ public string? ParentId { get; set; }
+
+ ///
+ /// Gets or sets the role associated with the layout node.
+ ///
+ ///
+ /// This value determines the responsibility or classification of the node
+ /// within the diagram.
+ ///
+ public string Role { get; set; } = null!;
+ }
+}
+```
+
+### Step 4: Create the repository class
+
+A repository class acts as a bridge between the ASP.NET Core Web API and the SQL Server database. It contains the logic required to read data from the database and return it in a format that can be used by the API.
+
+Using a repository helps maintain a clear separation by isolating database access logic from controller logic.
+
+**Instructions:**
+
+1. Inside the **Data** folder, create a new file named **LayoutNodeRepository.cs**.
+2. Define the `LayoutNodeRepository` class with the following code:
+
+```csharp
+using Microsoft.Data.SqlClient;
+
+namespace Angular_Diagram_MSSQL.Server.Data
+{
+ public class LayoutNodeRepository
+ {
+ private readonly string _connectionString;
+
+ ///
+ /// Initializes the repository with a connection string from configuration.
+ ///
+ public LayoutNodeRepository(IConfiguration configuration)
+ {
+ _connectionString = configuration.GetConnectionString("DiagramDb")!;
+ }
+
+ ///
+ /// Creates a new SQL connection using the configured connection string.
+ ///
+ private SqlConnection GetConnection() => new SqlConnection(_connectionString);
+
+ ///
+ /// Returns all layout nodes ordered by Id.
+ ///
+ public async Task> GetLayoutNodesAsync()
+ {
+ var list = new List();
+ const string sql =
+ @"SELECT Id, ParentId, Role FROM dbo.LayoutNodes";
+
+ await using var conn = GetConnection();
+ await conn.OpenAsync();
+ await using var cmd = new SqlCommand(sql, conn);
+ await using var reader = await cmd.ExecuteReaderAsync();
+
+ while (await reader.ReadAsync())
+ {
+ list.Add(
+ new LayoutNode
+ {
+ Id = reader["Id"] as string ?? string.Empty,
+ ParentId = reader["ParentId"] as string,
+ Role = reader["Role"] as string ?? string.Empty
+ }
+ );
+ }
+ return list;
+ }
+ }
+}
+
+```
+
+**Explanation:**
+
+- The repository reads the SQL Server connection string from application configuration.
+- A helper method creates a new SqlConnection when needed.
+- The `GetLayoutNodesAsync` method retrieves all layout nodes from the **LayoutNode** table and maps each record to a `LayoutNode` object.
+- The method returns the data as a list that can be consumed by the API controller.
+
+### Step 5: Create the API controller
+
+The API controller exposes layout‑node data as an HTTP endpoint that can be consumed by the diagram component.
+
+**Instructions:**
+
+1. Create a new folder named **Controllers** (if it does not already exist).
+2. Add a new file named **LayoutNodesController.cs**.
+3. Paste the following code:
+
+```csharp
+using Angular_Diagram_MSSQL.Server.Data;
+using Microsoft.AspNetCore.Mvc;
+using Syncfusion.EJ2.Base;
+using Newtonsoft.Json.Linq;
+
+namespace Angular_Diagram_MSSQL.Server.Controllers
+{
+ [ApiController]
+ [Route("api/[controller]")]
+ public class LayoutNodesController : ControllerBase
+ {
+ private readonly LayoutNodeRepository _repository;
+
+ public LayoutNodesController(LayoutNodeRepository repository)
+ {
+ _repository = repository;
+ }
+
+ // GET api/layoutnodes
+ [HttpGet]
+ public async Task GetAll()
+ {
+ var data = await _repository.GetLayoutNodesAsync();
+ return Ok(data);
+ }
+
+ // GET api/layoutnodes/ping
+ [HttpGet("ping")]
+ public IActionResult Ping()
+ {
+ return Ok(new { status = "ok", time = DateTime.UtcNow });
+ }
+ }
+}
+
+```
+**Explanation**
+
+* **/api/layoutnodes** returns all layout nodes from SQL Server.
+* Data is retrieved through the `LayoutNodeRepository` class.
+
+### Step 6: Configure the connection string
+
+A connection string contains the information needed to connect the application to the SQL Server database, including the server address, database name, and authentication credentials.
+
+**Instructions:**
+
+1. Open the **appsettings.json** file in the project root.
+2. Add or update the `ConnectionStrings` section with the SQL Server connection details:
+
+```json
+{
+ "ConnectionStrings": {
+ "DiagramDb": "Data Source=localhost;Initial Catalog=DiagramDb;Integrated Security=True;Connect Timeout=30;Encrypt=False;Trust Server Certificate=False;Application Intent=ReadWrite;Multi Subnet Failover=False"
+ },
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ },
+ "AllowedHosts": "*"
+}
+```
+
+**Connection string components:**
+
+| Component | Description |
+| ----------- | ------------- |
+| Data Source | The address of the SQL Server instance (server name, IP address, or localhost) |
+| Initial Catalog | The database name (in this case, **DiagramDb**) |
+| Integrated Security | Set to **True** for Windows Authentication; use **False** with Username/Password for SQL Authentication |
+| Connect Timeout | Connection timeout in seconds (default is 15) |
+| Encrypt | Enables encryption for the connection (set to **True** for production environments) |
+| Trust Server Certificate | Whether to trust the server certificate (set to **False** for security) |
+| Application Intent | Set to **ReadWrite** for normal operations or **ReadOnly** for read-only scenarios |
+| Multi Subnet Failover | Used in failover clustering scenarios (typically **False**) |
+
+
+### Step 7: Register services
+
+The **Program.cs** file is where application services are registered and configured. This file must be updated to register services and the repository for dependency injection.
+
+**Instructions:**
+
+1. Open the **Program.cs** file at the project root.
+2. Replace the existing content with the following configuration:
+
+```csharp
+using Angular_Diagram_MSSQL.Server.Data;
+
+var builder = WebApplication.CreateBuilder(args);
+
+// Add MVC controllers with Newtonsoft.Json (for JObject support)
+builder
+ .Services.AddControllers()
+ .AddNewtonsoftJson(options =>
+ {
+ options.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
+ });
+
+// (Optional) Swagger for API exploration in Development
+builder.Services.AddEndpointsApiExplorer();
+builder.Services.AddSwaggerGen();
+
+// CORS: allow all (simple for local dev / separate frontend)
+builder.Services.AddCors(options =>
+{
+ options.AddDefaultPolicy(policy => policy.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod());
+});
+
+// Register repository for DI
+builder.Services.AddScoped();
+
+var app = builder.Build();
+
+// Swagger only in Development
+if (app.Environment.IsDevelopment())
+{
+ app.UseSwagger();
+ app.UseSwaggerUI();
+}
+
+// Enable CORS and map controllers
+app.UseCors();
+app.MapControllers();
+
+app.Run();
+
+```
+**Explanation**
+
+* Controller support is enabled to expose API endpoints.
+* The `LayoutNodeRepository` is registered for dependency injection.
+* CORS is enabled to allow the Angular application to call the API.
+* Swagger is enabled in development for testing and exploration.
+
+The backend setup is now complete.
+
+## Integrating Syncfusion® Angular Diagram
+
+The following steps describe how to render the Diagram and connect it to the SQL Server back-end.
+
+### Step 1: Creating the Angular client application
+
+Create the Angular client application using the following commands in a Visual Studio Code terminal or command prompt:
+
+```bash
+ng new Angular_Diagram_MSSQL.client
+cd Angular_Diagram_MSSQL.client
+```
+
+### Step 2: Adding Syncfusion® packages
+
+Install the required Syncfusion® packages by running the following commands:
+
+```bash
+npm install @syncfusion/ej2-angular-diagrams --save
+```
+
+After installation, the necessary CSS files are available in the **node_modules** directory.
+Add the required CSS references to the **src/styles.css** file to apply styling to the Diagram component.
+
+```css
+@import '../node_modules/@syncfusion/ej2-base/styles/bootstrap5.3.css';
+@import '../node_modules/@syncfusion/ej2-buttons/styles/bootstrap5.3.css';
+@import '../node_modules/@syncfusion/ej2-calendars/styles/bootstrap5.3.css';
+@import '../node_modules/@syncfusion/ej2-dropdowns/styles/bootstrap5.3.css';
+@import '../node_modules/@syncfusion/ej2-inputs/styles/bootstrap5.3.css';
+@import '../node_modules/@syncfusion/ej2-navigations/styles/bootstrap5.3.css';
+@import '../node_modules/@syncfusion/ej2-popups/styles/bootstrap5.3.css';
+@import '../node_modules/@syncfusion/ej2-notifications/styles/bootstrap5.3.css';
+@import '../node_modules/@syncfusion/ej2-angular-diagrams/styles/bootstrap5.3.css';
+@import "../node_modules/@syncfusion/ej2-angular-base/styles/bootstrap5.3.css";
+```
+
+For this project, the "Bootstrap 5.3" theme is applied. Other themes can be selected, or the existing theme can be customized to meet specific project requirements. For detailed guidance on theming and customization, refer to the [Syncfusion® Angular Components Appearance](https://ej2.syncfusion.com/angular/documentation/appearance/theme-studio) documentation.
+
+### Step 3: Add Syncfusion® Angular Diagram
+
+The Angular Diagram component can be added to the (**src/app/app.component.ts**) file using the following code.
+
+```ts
+import { Component, ViewEncapsulation, ViewChild } from '@angular/core';
+import { DiagramComponent, Diagram, NodeModel, ConnectorModel, LayoutModel, DataSourceModel, DiagramModule,
+ HierarchicalTreeService, DataBindingService, DataBinding, HierarchicalTree, SnapSettingsModel, SnapConstraints } from '@syncfusion/ej2-angular-diagrams';
+
+Diagram.Inject(DataBinding, HierarchicalTree);
+
+@Component({
+ selector: "app-root",
+ standalone: true,
+ imports: [DiagramModule],
+ templateUrl: "app.component.html",
+ styleUrls: ["app.component.css"],
+ providers: [HierarchicalTreeService, DataBindingService],
+ encapsulation: ViewEncapsulation.None,
+})
+export class AppComponent {
+ @ViewChild('diagram') diagram?: DiagramComponent;
+}
+```
+
+And update (**src/app/app.component.html**):
+
+```html
+
+
+```
+This code initializes the Diagram component with default dimensions.
+
+### Step 4: Fetch data from Web API and bind it to the Diagram
+
+In this step, data is retrieved from the ASP.NET Core Web API and assigned to the Diagram as a data source. Create a `loadData` function in the (**src/app/app.component.ts**) file to fetch the API data and assign it to the Diagram using `dataSourceSettings`.
+
+```ts
+
+import { Component, ViewEncapsulation, ViewChild } from '@angular/core';
+import { DiagramComponent, Diagram, NodeModel, ConnectorModel, LayoutModel, DataSourceModel, DiagramModule,
+ HierarchicalTreeService, DataBindingService, DataBinding, HierarchicalTree, SnapSettingsModel, SnapConstraints } from '@syncfusion/ej2-angular-diagrams';
+import { DataManager, Query } from '@syncfusion/ej2-data';
+
+Diagram.Inject(DataBinding, HierarchicalTree);
+
+const BASE_URL = "/api/layoutnodes";
+
+
+export class AppComponent {
+ @ViewChild('diagram') diagram?: DiagramComponent;
+
+ public items?: DataManager;
+ public layout?: LayoutModel;
+ public dataSourceSettings?: DataSourceModel;
+
+ ngOnInit(): void {
+ this.loadData();
+ }
+
+ private loadData() {
+ fetch(BASE_URL, {
+ method: 'GET',
+ headers: { 'Content-Type': 'application/json' },
+ })
+ .then((response) => {
+ if (!response.ok) {
+ throw new Error(`HTTP error! status: ${response.status}`);
+ }
+ return response.json();
+ })
+ .then((data) => {
+ this.items = new DataManager(data as JSON[], new Query().take(5));
+ // Force diagram refresh
+ if (this.diagram) {
+ this.layout = {
+ //Sets layout type
+ type: 'OrganizationalChart'
+ }
+
+ //Configures data source for Diagram
+ this.dataSourceSettings = {
+ id: 'id',
+ parentId: 'parentId',
+ dataSource: this.items
+ }
+ }
+ })
+ .catch((error) => {
+ console.error('Error loading data:', error);
+ });
+ }
+}
+
+```
+
+### Step 5: Complete code
+
+The following snippet shows the complete Angular Diagram configuration with data binding, layout, and styling applied.
+
+**app.component.html:**
+
+{% tabs %}
+{% highlight html tabtitle="~/src/app/app.component.html" %}
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+
+**app.component.ts:**
+
+```ts
+
+import { Component, ViewEncapsulation, ViewChild } from '@angular/core';
+import { DiagramComponent, Diagram, NodeModel, ConnectorModel, LayoutModel, DataSourceModel, DiagramModule,
+ HierarchicalTreeService, DataBindingService, DataBinding, HierarchicalTree, SnapSettingsModel, SnapConstraints } from '@syncfusion/ej2-angular-diagrams';
+import { DataManager, Query } from '@syncfusion/ej2-data';
+
+Diagram.Inject(DataBinding, HierarchicalTree);
+
+const BASE_URL = "/api/layoutnodes";
+
+@Component({
+ selector: "app-root",
+ standalone: true,
+ imports: [DiagramModule],
+ templateUrl: "app.component.html",
+ styleUrls: ["app.component.css"],
+ providers: [HierarchicalTreeService, DataBindingService],
+ encapsulation: ViewEncapsulation.None,
+})
+export class AppComponent {
+ @ViewChild('diagram') diagram?: DiagramComponent;
+ public snapSettings: SnapSettingsModel = {
+ // Display both Horizontal and Vertical gridlines
+ constraints: SnapConstraints.None
+ };
+ public items?: DataManager;
+ public layout?: LayoutModel;
+ public dataSourceSettings?: DataSourceModel;
+
+ public nodeDefaults = (obj: NodeModel): NodeModel => {
+ obj.width = 120;
+ obj.height = 40;
+ obj.shape = { type: 'Basic', shape: 'Rectangle' };
+ obj.annotations = [{ content: (obj.data as { role: 'string' }).role }];
+ obj.style = { fill: '#6BA5D7', strokeColor: 'white' };
+ return obj;
+ };
+
+ public connDefaults = (connector: any): void => {
+ connector.type = 'Orthogonal';
+ connector.cornerRadius = 7;
+ connector.targetDecorator = { shape: 'None' };
+ };
+
+ ngOnInit(): void {
+ this.loadData();
+ }
+
+ private loadData() {
+ fetch(BASE_URL, {
+ method: 'GET',
+ headers: { 'Content-Type': 'application/json' },
+ })
+ .then((response) => {
+ if (!response.ok) {
+ throw new Error(`HTTP error! status: ${response.status}`);
+ }
+ return response.json();
+ })
+ .then((data) => {
+ this.items = new DataManager(data as JSON[], new Query().take(5));
+ // Force diagram refresh
+ if (this.diagram) {
+ this.layout = {
+ //Sets layout type
+ type: 'OrganizationalChart'
+ }
+
+ //Configures data source for Diagram
+ this.dataSourceSettings = {
+ id: 'id',
+ parentId: 'parentId',
+ dataSource: this.items
+ }
+ }
+ })
+ .catch((error) => {
+ console.error('Error loading data:', error);
+ });
+ }
+}
+
+```
+
+## Running the application
+
+**Step 1: Build and run the ASP.NET Core Web API:**
+
+Navigate to the server project folder and run the following command in a terminal:
+
+```bash
+dotnet build
+dotnet run
+```
+**Step 2: Run the Angular client:**
+
+From the client folder, run the following command in a terminal to start the Angular application:
+
+```bash
+ng serve --open
+```
+
+**Step 3: Access the application:**
+
+Open a web browser and navigate to the URL shown in the terminal to view the Diagram.
+
+## Complete sample repository
+
+A complete, working sample implementation is available in the [GitHub repository](https://github.com/SyncfusionExamples/ej2-web-diagram-examples/tree/master/Angular/syncfusion-angular-diagram-MSSQL).
+
+## Summary
+
+| Step | Description | Reference |
+|-----:|-------------|-----------|
+| 1 | Install and configure Microsoft SQL Server and SQL Server Management Studio | [View](#installing-and-configuring-microsoft-sql-server-and-ssms) |
+| 2 | Create the database, schema, and insert hierarchical diagram data | [View](#creating-the-database-and-schema-for-diagram-data) |
+| 3 | Create and configure the ASP.NET Core Web API backend | [View](#integrating-sql-server-with-aspnet-core-web-api) |
+| 4 | Integrate and configure the Syncfusion® Angular Diagram component | [View](#integrating-syncfusion-angular-diagram) |
+| 5 | Run and test the complete application | [View](#running-the-application) |
+
+## See also
+
+- [Data Binding](https://ej2.syncfusion.com/angular/documentation/diagram/data-binding)
+- [Organizational Chart Layout](https://ej2.syncfusion.com/angular/documentation/diagram/automatic-layout/org-chart)
\ No newline at end of file
diff --git a/ej2-angular/diagram/mysql-server.md b/ej2-angular/diagram/mysql-server.md
new file mode 100644
index 00000000000..35564b72160
--- /dev/null
+++ b/ej2-angular/diagram/mysql-server.md
@@ -0,0 +1,765 @@
+---
+layout: post
+title: Angular Diagram - MySQL Server | Syncfusion
+description: Learn how to integrate the Syncfusion Angular Diagram with a MySQL database using LINQ2DB and an ASP.NET Core Web.
+platform: ej2-angular
+control: diagram
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# Connecting MySQL Server to Syncfusion® Angular Diagram using LINQ2DB
+
+This guide explains how to load and visualize organizational chart data stored in a MySQL database using the Syncfusion® Angular Diagram component. It demonstrates how to configure MySQL, create the required database schema, expose the data through an ASP.NET Core Web API, and bind the API response to an Angular application to render an organizational chart.
+
+**What is LINQ2DB?**
+
+[LINQ2DB](https://linq2db.github.io/) is a lightweight object-relational mapping (ORM) library for .NET that simplifies database access. It enables applications to query relational databases such as MySQL using LINQ syntax, providing a type-safe and efficient way to retrieve data without the overhead of larger ORM frameworks.
+
+**Key benefits of LINQ2DB:**
+
+- **Lightweight Performance:** Provides efficient database access with minimal runtime overhead.
+- **LINQ Support:** Use familiar LINQ syntax for database queries instead of raw SQL strings.
+- **Type Safety:** Strong typing reduces runtime errors and provides IntelliSense support.
+- **Built-in Security:** Automatic parameterization prevents SQL injection attacks.
+- **MySQL-Specific:** Supports modern MySQL versions, including MySQL 8.0, with proper handling of character encoding and collation.
+- **Minimal Configuration:** Simple setup with straightforward connection string management.
+
+## Prerequisites
+
+Ensure the following software and packages are installed before proceeding:
+
+| Software/Package | Version | Purpose |
+|---|---|---|
+| Visual Studio | 17.0 or later | Development IDE |
+| .NET SDK | 8.0 or compatible | Runtime and build tools |
+| MySQL Server | 8.0.46 | Database server |
+| MySQL Workbench | Latest stable | GUI client for MySQL management |
+| Node.js | v20.x or later | JavaScript runtime for Angular |
+| npm | Latest | Package manager for Angular dependencies |
+
+## Installing and configuring MySQL Server and Workbench
+
+To store and manage diagram data, MySQL Server must be installed and configured before connecting it to the ASP.NET Core Web API. This section describes how to install MySQL Server and MySQL Workbench, and how to verify connectivity to the database server.
+
+### Installing MySQL Server
+
+MySQL Server provides the relational database engine used to store organizational chart data required by the diagram component.
+
+1. Download MySQL Installer version 8.0.46 from [mysql.com](https://dev.mysql.com/downloads/windows/installer/8.0.html).
+
+2. Run the installer and follow the setup wizard.
+ - Choose setup type as **Server only**.
+ 
+ - Next, Download and Install the MySQL Server 8.0.46.
+3. Configure the MySQL Server after installation.
+ - Choose server configuration type as **Development Computer**.
+ 
+ - Choose Strong Password Encryption for Authentication and set your root account password.
+ - Specify a Windows service name (e.g., **MySQL80**).
+ 
+ - Start applying the configuration by clicking the **Execute** button.
+ 
+4. Click **Finish** to complete the installation.
+
+### Installing MySQL Workbench
+
+MySQL Workbench is a graphical tool used to connect to MySQL Server, manage databases, execute SQL queries, and inspect data.
+
+1. Download MySQL Workbench Installer version 8.0.47 from [mysql-workbench](https://dev.mysql.com/downloads/workbench/)
+2. Run the installer and follow the setup wizard.
+ - Choose the setup type as **Complete**.
+ - Click **Finish** after installing MySQL Workbench.
+
+## Connecting to MySQL Server using MySQL Workbench
+
+After installing MySQL Workbench, create a connection to the MySQL Server instance to begin creating databases and tables.
+
+1. Launch **MySQL Workbench**.
+2. Click **+** to create a new connection.
+
+3. Configure the connection settings:
+ - **Connection Name**: **Local MySQL**
+ - **Hostname**: **localhost**
+ - **Port**: **3306**
+ - **Username**: **root**
+ - **Password**: (your MySQL root password)
+4. Click **Test Connection** to verify the connection.
+5. Click OK to save the connection.
+
+The MySQL Server instance is now connected and ready for database creation.
+
+## Creating the database and table
+
+The database required for the application can be created using one of the following methods:
+1. Using MySQL Workbench
+2. Using the MySQL Command Line Client
+
+### Creating a database using MySQL Workbench
+
+Use MySQL Workbench to create the required database and table for storing organizational chart data.
+
+1. Open **MySQL Workbench**.
+2. On the home screen, click your **MySQL connection** (for example: **Local MySQL**).
+3. The **SQL Editor** opens. This editor is used to write and execute SQL statements for the selected connection.
+4. Paste the following SQL script into the SQL Editor:
+
+```sql
+-- Create database with UTF-8 support
+CREATE DATABASE IF NOT EXISTS diagramdb
+ CHARACTER SET utf8mb4
+ COLLATE utf8mb4_general_ci;
+
+-- Select the database
+USE diagramdb;
+
+-- Create employees table
+CREATE TABLE IF NOT EXISTS employees (
+ Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ Name VARCHAR(100) NOT NULL,
+ ParentId INT NULL,
+ FOREIGN KEY (ParentId) REFERENCES employees(Id) ON DELETE SET NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+
+-- Insert sample organizational hierarchy data
+INSERT INTO employees (Name, ParentId)
+VALUES
+('CEO', NULL),
+('VP Engineering', 1),
+('VP Sales', 1),
+('Engineering Lead', 2),
+('Sales Manager', 3),
+('Developer 1', 4),
+('Developer 2', 4),
+('Sales Rep 1', 5),
+('Sales Rep 2', 5);
+```
+
+5. Click the **Execute** button (or press **Ctrl + Shift + Enter**) to run the script.
+6. The Output window at the bottom displays status messages and any errors related to the SQL actions.
+
+#### Verify the database and table:
+
+To confirm that the database and table were created successfully:
+
+1. In the **Navigator → SCHEMAS** panel on the left side, click the **Refresh icon**.
+2. **Expand**: diagramdb - Tables - employees.
+3. Click the **Output Grid** icon to view the table data in grid view.
+
+ 
+
+### Creating a database via MySQL Command Line Client
+
+The database can also be created using the MySQL Command Line Client.
+
+1. Open **MySQL Command Line Client**.
+2. Enter your MySQL **root password** when prompted.
+3. Paste the same SQL script used in [MySQL Workbench](#creating-a-database-using-mysql-workbench) and press **Enter**.
+4. Run the query **SELECT * FROM employees;** to verify the inserted data.
+
+**Expected output**:
+| Id | Name | ParentId |
+| --- | --- | --- |
+| 1 | CEO | NULL |
+| 2 | VP Engineering | 1 |
+| 3 | VP Sales | 1 |
+| 4 | Engineering Lead | 2 |
+| 5 | Sales Manager | 3 |
+| 6 | Developer 1 | 4 |
+| 7 | Developer 2 | 4 |
+| 8 | Sales Rep 1 | 5 |
+| 9 | Sales Rep 2 | 5 |
+
+
+## Integrating MySQL Server with ASP.NET Core Web API
+
+This section explains how to create an ASP.NET Core Web API project that connects to MySQL and exposes data for use by the Syncfusion® Angular Diagram component.
+
+### Creating the Web API project using Visual Studio
+
+1. Open **Visual Studio**.
+2. Click **Create a new project**.
+3. Search for **"ASP.NET Core Web API"** and select it.
+4. Click **Next**.
+5. Configure project settings:
+ - **Project name**: **Diagram_MySQL.Server**
+ - **Location**: Choose a folder
+ - **Solution name**: **Diagram_MySQL**
+6. Click **Next**.
+7. Additional information:
+ - **Framework**: .NET 8.0 (or latest available)
+ - **Authentication type**: None
+ - **Uncheck**: "Configure for HTTPS"
+8. Click **Create**.
+
+Visual Studio creates a new ASP.NET Core Web API project with default files such as **Program.cs**, **Controllers**, and **appsettings.json**.
+
+### Creating the Web API project using Visual Studio Code
+
+Alternatively, the project can be created using the .NET CLI, which is commonly used with Visual Studio Code.
+
+1. Open a terminal or command prompt.
+2. Navigate to the directory where the server application should be created.
+3. Run the following commands:
+
+```bash
+dotnet new webapi -n Diagram_MySQL.Server
+cd Diagram_MySQL.Server
+```
+
+### Installing NuGet packages using Package Manager Console
+
+The Web API requires additional NuGet packages for LINQ2DB, MySQL connectivity, and JSON serialization.
+
+#### Method 1: Using Package Manager Console (Visual Studio)
+
+1. In Visual Studio, go to **Tools → NuGet Package Manager → Package Manager Console**.
+2. Run the following commands sequentially:
+
+```bash
+Install-Package linq2db -Version 6.1.0
+```
+
+```bash
+Install-Package linq2db.MySql -Version 6.1.0
+```
+
+```bash
+Install-Package linq2db.AspNet -Version 5.4.1.9
+```
+
+```bash
+Install-Package MySqlConnector -Version 2.5.0
+```
+
+```bash
+Install-Package Microsoft.AspNetCore.Mvc.NewtonsoftJson -Version 8.0.0
+```
+
+#### Method 2: Using .NET CLI / Integrated Terminal (Visual Studio Code)
+
+Alternatively, the packages can be installed using the .NET CLI from the project directory.
+
+```powershell
+dotnet add package linq2db --version 6.1.0
+dotnet add package linq2db.MySql --version 6.1.0
+dotnet add package linq2db.AspNet --version 5.4.1.9
+dotnet add package MySqlConnector --version 2.5.0
+dotnet add package Microsoft.AspNetCore.Mvc.NewtonsoftJson --version 8.0.0
+```
+
+### Create the data model
+
+A data model represents a database table as a C# class and maps table columns to class properties.
+
+**Instructions:**
+1. Create a new folder named **Models** in the **Diagram_MySQL.Server** project.
+2. Inside the **Models** folder, create a new file named **Employee.cs**.
+3. Define the `Employee` class with the following code:
+
+```csharp
+using LinqToDB.Mapping;
+
+namespace Diagram_MySQL.Server.Models
+{
+ [Table("employees")]
+ public class Employee
+ {
+ [PrimaryKey, Identity]
+ [Column("Id")]
+ public int Id { get; set; }
+
+ [Column("Name")]
+ [NotNull]
+ public string Name { get; set; }
+
+ [Column("ParentId")]
+ public int? ParentId { get; set; }
+ }
+}
+```
+
+### Configuring the connection string
+
+The connection string defines how the application connects to the MySQL server.
+
+**Instructions:**
+1. Open **appsettings.json**.
+2. Add or update the `ConnectionStrings` section with the MySQL connection details:
+
+```json
+{
+ "ConnectionStrings": {
+ "MySqlConn": "Server=localhost;Port=3306;Database=diagramdb;User Id=root;Password=YOUR_PASSWORD_HERE;"
+ },
+ "Logging": {
+ "LogLevel": {
+ "Default": "Information",
+ "Microsoft.AspNetCore": "Warning"
+ }
+ },
+ "AllowedHosts": "*"
+}
+```
+
+### Configuring the LINQ2DB data connection
+
+A data connection class is required for **LINQ2DB** to communicate with MySQL.
+
+**Instructions:**
+1. Create a new folder named **Data** in the **Diagram_MySQL.Server** project.
+2. Inside the **Data** folder, create a new file named **AppDataConnection.cs**.
+3. Define the `AppDataConnection` class with the following code:
+
+
+```csharp
+using Diagram_MySQL.Server.Models;
+using LinqToDB;
+using LinqToDB.Data;
+using LinqToDB.DataProvider.MySql;
+
+namespace Diagram_MySQL.Server.Data
+{
+ public sealed class AppDataConnection : DataConnection
+ {
+ public AppDataConnection(IConfiguration config)
+ : base(new DataOptions().UseMySql(
+ config.GetConnectionString("MySqlConn"),
+ MySqlVersion.MySql80,
+ MySqlProvider.MySqlConnector))
+ {
+ InlineParameters = true;
+ }
+
+ public ITable Employees => this.GetTable();
+ }
+}
+
+```
+
+### Creating the Diagram API controller
+
+The API controller retrieves employee records and exposes them as an HTTP endpoint.
+
+**Instructions:**
+1. Create a new folder named **Controllers** (if not exist) in the **Diagram_MySQL.Server** project.
+2. Inside the **Controllers** folder, create a new file named **DiagramController.cs**.
+3. Add the following code:
+
+```csharp
+using Diagram_MySQL.Server.Data;
+using Diagram_MySQL.Server.Models;
+using LinqToDB;
+using LinqToDB.Async;
+using Microsoft.AspNetCore.Mvc;
+
+namespace Diagram_MySQL.Server.Controllers
+{
+ [ApiController]
+ [Route("api/[controller]")]
+ public class DiagramController : ControllerBase
+ {
+ private readonly AppDataConnection _db;
+ public DiagramController(AppDataConnection db) => _db = db;
+
+ [HttpGet("items")]
+ public async Task GetItems()
+ {
+ var items = await _db.Employees.ToListAsync();
+ return Ok(items);
+ }
+ }
+}
+
+```
+
+### Registering services in Program.cs
+
+The **Program.cs** file is where we configure all backend services and middle ware.
+
+**Instructions:**
+1. Open **Program.cs** in the project root.
+2. Add the following code.
+
+```csharp
+using Diagram_MySQL.Server.Data;
+using LinqToDB;
+using LinqToDB.AspNet;
+using LinqToDB.DataProvider.MySql;
+
+var builder = WebApplication.CreateBuilder(args);
+
+// Add services to the container.
+
+builder.Services.AddControllers().AddNewtonsoftJson();
+
+// Configure CORS (Cross-Origin Resource Sharing) for development
+// IMPORTANT: This allows the Angular frontend (http://localhost:4200) to make requests to this backend (http://localhost:5296)
+// Without CORS, browsers block requests between different ports for security reasons
+builder.Services.AddCors(options =>
+{
+ options.AddPolicy("cors", p => p
+ .AllowAnyOrigin() // Allow requests from any domain
+ .AllowAnyHeader() // Allow any HTTP headers
+ .AllowAnyMethod() // Allow GET, POST, PUT, DELETE, etc.
+ );
+});
+// Register LINQ2DB with MySQL provider
+builder.Services.AddLinqToDB(
+ (sp, options) =>
+ options.UseMySql(
+ builder.Configuration.GetConnectionString("MySqlConn"),
+ MySqlVersion.MySql80,
+ MySqlProvider.MySqlConnector
+ )
+);
+// Register AppDataConnection for dependency injection
+builder.Services.AddScoped();
+var app = builder.Build();
+
+// Apply CORS policy
+app.UseCors("cors");
+
+app.UseAuthorization();
+
+app.MapControllers();
+
+app.Run();
+```
+
+**Explanation:**
+- `AddControllers()`: Registers MVC controllers for HTTP routing.
+- `AddNewtonsoftJson()`: Enables JSON serialization with Newtonsoft.
+- `AddCors()`: Configures CORS to allow Angular frontend (different origin) to make requests.
+- `AddLinqToDB()`: Registers LINQ2DB with MySQL configuration.
+- `AddScoped()`: Registers our connection class for dependency injection.
+- `app.MapControllers()`: Routes incoming requests to controller methods.
+
+The backend API is now configured.
+
+## Integrating Syncfusion® Angular Diagram
+
+The following steps describe how to render the Diagram and connect it to the MySQL Server back-end.
+
+### Step 1: Creating the Angular client application
+
+Create the Angular client application using the following commands in a Visual Studio Code terminal or command prompt:
+
+```bash
+npx @angular/cli@latest new diagram_mysql.client
+```
+```bash
+cd diagram_mysql.client
+```
+This command scaffolds a new Angular application using Angular CLI.
+
+### Step 2: Adding Syncfusion® packages
+
+Install the required Syncfusion® packages by running the following commands:
+
+```bash
+npm install @syncfusion/ej2-angular-diagrams --save
+```
+
+After installation, the necessary CSS files are available in the **node_modules** directory.
+Add the required CSS references to the **src/styles.css** file to apply styling to the Diagram component.
+
+```css
+@import "../node_modules/@syncfusion/ej2-angular-diagrams/styles/bootstrap5.3.css";
+@import "../node_modules/@syncfusion/ej2-base/styles/bootstrap5.3.css";
+@import "../node_modules/@syncfusion/ej2-popups/styles/bootstrap5.3.css";
+@import "../node_modules/@syncfusion/ej2-navigations/styles/bootstrap5.3.css";
+```
+
+For this project, the "Bootstrap 5.3" theme is applied. Other themes can be selected, or the existing theme can be customized to meet specific project requirements. For detailed guidance on theming and customization, refer to the [Syncfusion® Angular Components Appearance](https://ej2.syncfusion.com/angular/documentation/appearance/theme-studio) documentation.
+
+### Step 3: Add Syncfusion® Angular Diagram
+
+Create a basic Diagram component in **src/app/app.ts**:
+
+```typescript
+import { Component } from '@angular/core';
+import { DiagramModule } from '@syncfusion/ej2-angular-diagrams';
+
+@Component({
+ selector: 'app-root',
+ imports: [DiagramModule],
+ templateUrl: './app.html',
+})
+export class App {}
+```
+
+**HTML template (src/app/app.html)**:
+
+```html
+
+
+```
+
+### Step 4: Configure remote data binding
+
+Remote data binding enables the diagram to fetch organizational chart data from the ASP.NET Core backend endpoint. The DataManager service handles communication with the server, while property mappings link database columns to diagram nodes.
+
+Add the data binding configuration to the component:
+
+```typescript
+import { Component, OnInit } from '@angular/core';
+import {
+ DiagramModule,
+ LayoutModel,
+ DataSourceModel,
+ NodeModel,
+ ConnectorModel,
+ SnapSettingsModel,
+ SnapConstraints
+} from '@syncfusion/ej2-angular-diagrams';
+import { DataManager } from '@syncfusion/ej2-data';
+
+export interface Employee {
+ id: number;
+ name: string;
+ parentId?: number | null;
+}
+
+@Component({
+ selector: 'app-root',
+ imports: [DiagramModule],
+ templateUrl: './app.html',
+})
+export class App implements OnInit {
+ public layout: LayoutModel = {
+ type: 'OrganizationalChart',
+ };
+ public dataSourceSettings?: DataSourceModel;
+ public snapSettings: SnapSettingsModel = { constraints: SnapConstraints.None };
+
+ ngOnInit(): void {
+ // Create DataManager instance pointing to your backend API
+ const dataManager = new DataManager({
+ // Check your actual backend port from Properties/launchSettings.json in the ASP.NET project
+ url: 'http://localhost:5296/api/diagram/items',
+ });
+
+ // Configure data source mapping
+ this.dataSourceSettings = {
+ // Maps database column (Id) to uniquely identify each node
+ id: 'id',
+ // Maps database column (ParentId) to establish parent-child relationships
+ parentId: 'parentId',
+ // DataManager pointing to the API endpoint that returns employee data
+ dataSource: dataManager,
+ // Callback function that customizes node appearance with employee information
+ doBinding: (nodeModel: NodeModel, data: Employee) => {
+ nodeModel.annotations = [{
+ content: data.name,
+ style: { color: '#FFFFFF' }
+ }];
+ }
+ };
+ }
+}
+```
+
+### Step 5: Register required services
+
+Update the component decorator to include the required services:
+
+```typescript
+import {
+ DiagramModule,
+ DataBindingService,
+ HierarchicalTreeService,
+ // ...existing imports...
+} from '@syncfusion/ej2-angular-diagrams';
+
+@Component({
+ selector: 'app-root',
+ imports: [DiagramModule],
+ providers: [DataBindingService, HierarchicalTreeService],
+ templateUrl: './app.html',
+})
+// ...existing code...
+```
+
+### Complete code
+
+Here is the complete implementation for **src/app/app.ts**:
+
+```typescript
+import { Component, OnInit } from '@angular/core';
+import {
+ DiagramModule,
+ DataBindingService,
+ HierarchicalTreeService,
+ LayoutModel,
+ DataSourceModel,
+ NodeModel,
+ ConnectorModel,
+ SnapSettingsModel,
+ SnapConstraints
+} from '@syncfusion/ej2-angular-diagrams';
+import { DataManager } from '@syncfusion/ej2-data';
+
+export interface Employee {
+ id: number;
+ name: string;
+ parentId?: number | null;
+}
+
+@Component({
+ selector: 'app-root',
+ imports: [DiagramModule],
+ providers: [DataBindingService, HierarchicalTreeService],
+ templateUrl: './app.html',
+})
+export class App implements OnInit {
+ public layout: LayoutModel = {
+ type: 'OrganizationalChart',
+ };
+ public dataSourceSettings?: DataSourceModel;
+ public snapSettings: SnapSettingsModel = { constraints: SnapConstraints.None };
+
+ ngOnInit(): void {
+ // Create DataManager instance pointing to your backend API
+ const dataManager = new DataManager({
+ // Check your actual backend port from Properties/launchSettings.json in the ASP.NET project
+ url: 'http://localhost:5296/api/diagram/items',
+ });
+
+ // Configure data source mapping
+ this.dataSourceSettings = {
+ // Maps the database column (Id) to uniquely identify each node
+ id: 'id',
+ // Maps the database column (ParentId) to establish parent-child relationships
+ parentId: 'parentId',
+ // DataManager pointing to the API endpoint that returns employee data
+ dataSource: dataManager,
+ // Callback function that customizes node appearance
+ doBinding: (nodeModel: NodeModel, data: Employee) => {
+ nodeModel.annotations = [{
+ content: data.name,
+ style: { color: '#FFFFFF' }
+ }];
+ }
+ };
+ }
+
+ public getNodeDefaults(node: NodeModel): NodeModel {
+ node.width = 120;
+ node.height = 40;
+ node.style = { fill: '#1F3A8A', strokeColor: '#1E40AF' };
+ return node;
+ }
+
+ public getConnectorDefaults(connector: ConnectorModel): ConnectorModel {
+ connector.type = 'Orthogonal';
+ connector.cornerRadius = 7;
+ connector.targetDecorator = { shape: 'None' };
+ connector.style = {
+ strokeColor: '#94A3B8',
+ strokeWidth: 1.5
+ };
+ return connector;
+ }
+}
+```
+
+**HTML template (src/app/app.html)**:
+
+```html
+
+
+```
+## Running the complete application
+
+### Starting the ASP.NET Core backend
+
+Open a terminal and navigate to the backend project:
+
+```bash
+cd Diagram_MySQL.Server
+```
+
+Start the backend server:
+
+```bash
+dotnet run
+```
+
+### Starting the Angular frontend
+
+Open a **new terminal** and navigate to the frontend project:
+
+```bash
+cd diagram_mysql.client
+```
+
+Start the Angular development server:
+
+```bash
+ng serve
+```
+
+
+
+## Troubleshooting
+
+### Blank page in browser tab
+
+1. Verify services and processes
+ - Verify the Windows service is running: press **Win+R**, run **services.msc**, and confirm **MySQL80** (or your service name) is running.
+ - Ensure the ASP.NET backend is running. If not, run:
+ ```bash
+ dotnet run
+ ```
+
+2. Verify backend binding and endpoint
+ - Verify the MySQL connection string in **appsettings.json**: `Server`, `Port`, `Database`, `User Id`, and `Password` must match your MySQL setup.
+ - Check the backend ports in **Properties/launchSettings.json** (look for `applicationUrl`):
+ ```json
+ "applicationUrl": "https://localhost:7092;http://localhost:5296"
+ ```
+ Use the HTTP port to test the endpoint in browser: **http://localhost:5296/api/diagram/items**
+
+ Expected JSON response:
+ ```json
+ [
+ {"id":1,"name":"CEO","parentId":null},
+ {"id":2,"name":"VP Engineering","parentId":1}
+ ]
+ ```
+ The API must return a JSON array of objects containing the `id`, `parentId`, and `name` fields (match casing used in `dataSourceSettings`).
+
+3. Check frontend configuration
+ - Confirm `dataSourceSettings` property names match the API JSON casing (`id`, `parentId`, `name`).
+ - Confirm the DataManager/service URL uses the correct HTTP port, e.g.: **http://localhost:5296/api/diagram/items**
+
+### Application shows the diagram twice
+ - Stop the Angular client dev server (press **Ctrl+C** in the terminal where it's running) and then restart it:
+ ```bash
+ ng serve
+ ```
+
+## Complete sample repository
+
+A fully functional working sample of this project is available on [GitHub Repository](https://github.com/SyncfusionExamples/ej2-web-diagram-examples/tree/master/Angular/connecting-to-database/syncfusion-angular-diagram-MySQL)
+
+You can clone the sample repository, update the MySQL connection string, and run both projects to view the organizational chart locally.
+
+## See also
+
+- [Syncfusion® Angular Diagram Getting Started](https://ej2.syncfusion.com/angular/documentation/diagram/getting-started)
+- [Data Binding Documentation](https://ej2.syncfusion.com/angular/documentation/diagram/data-binding)
+- [Organizational Chart Layout](https://ej2.syncfusion.com/angular/documentation/diagram/automatic-layout/org-chart)
diff --git a/ej2-angular/file-manager/file-system-provider.md b/ej2-angular/file-manager/file-system-provider.md
index d08f08e5c8e..3ed4f33aa12 100644
--- a/ej2-angular/file-manager/file-system-provider.md
+++ b/ej2-angular/file-manager/file-system-provider.md
@@ -70,33 +70,73 @@ export class AppComponent {
## Azure cloud file system Provider
-The Azure file system provider allows the users to access and manage the blobs in the Azure blob storage. To get started, clone the [azure-aspcore-file-provider](https://github.com/SyncfusionExamples/azure-aspcore-file-provider) using the following command.
+### Introduction to Azure Blob Storage
-```typescript
+Azure Blob Storage is Microsoft Azure's object storage solution for the cloud, optimized for storing massive amounts of unstructured data. In this guide, the Syncfusion Angular File Manager connects to Blob Storage through an ASP.NET Core backend so you can securely browse and perform file operations in the File Manager component.
+
+### Prerequisites
+
+Before you integrate Azure Blob Storage with the Syncfusion Angular File Manager, ensure you have:
+- An active Microsoft Azure subscription
+- A Storage Account with Blob service enabled
+- A Blob Container and an optional root folder inside that container
+- Azure credentials: `accountName`, `accountKey`, and `blobName`
+
+### Setting Up Azure Blob Storage
-git clone https://github.com/SyncfusionExamples/azure-aspcore-file-provider azure-aspcore-file-provider
+- Sign in to the [Azure Portal](https://portal.azure.com/) and [create a storage account](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-create?tabs=azure-portal) with Blob service enabled.
+- [Create a Blob Container](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-portal?tabs=azure-portal#create-a-container) (example: files). See Azure docs for [container naming rules](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction#naming-and-referencing-containers-blobs-and-metadata).
+### Backend Setup
+
+Clone the [Azure File Provider](https://github.com/SyncfusionExamples/azure-aspcore-file-provider) using the following command,
+
+```bash
+git clone https://github.com/SyncfusionExamples/ej2-azure-aspcore-file-provider ej2-azure-aspcore-file-provider
```
-After cloning, just open the project in Visual Studio and restore the NuGet packages. Now, register the Azure storage by passing details like name, password, and blob name to the Register Azure method in the controller.
+> **Note:** This Azure Blob Storage provider for the Syncfusion Angular File Manager is intended for demonstration and evaluation only. Before using it in production, consult your security team and complete a security review.
-```typescript
+To initialize a local service with the above-mentioned file operations, create a folder named `Controllers` in the server project. Then, create a `.cs` file in the `Controllers` folder and add the required file operation code from [AzureProviderController.cs](https://github.com/SyncfusionExamples/azure-aspcore-file-provider/blob/master/Controllers/AzureProviderController.cs). You can also find the method-level details for this provider in the same repository.
- void RegisterAzure(string accountName, string accountKey, string blobName)
+### Registering Azure Credentials in the Provider
- ```
+After cloning, open the project in Visual Studio and restore the NuGet packages. Then, register Azure Storage by passing **accountName**, **accountKey**, and **blobName** to the `RegisterAzure` method in the `AzureProviderController.cs` file.
-Then, set the blob container and the root blob directory by passing the corresponding URLs as parameters in the setBlobContainer method as follows.
+```csharp
+this.operation.RegisterAzure("<--accountName-->", "<--accountKey-->", "<--blobName-->");
+```
-```typescript
+Then, set the blob container and the root blob directory by passing the corresponding URLs as parameters to the `SetBlobContainer` method, as shown below.
-void setBlobContainer(string blobPath, string filePath)
+```csharp
+public AzureProviderController(IHostingEnvironment hostingEnvironment)
+{
+ this.operation = new AzureFileProvider();
+ blobPath = "<--blobPath-->";
+ filePath = "<--filePath-->";
+ ...
+ this.operation.SetBlobContainer(blobPath, filePath);
+}
+```
+
+> **Note:** The **blobPath** represents a container path in Azure Blob Storage, and **filePath** refers to the file location path. For example, create a container named **blob** in the specified Azure Blob Storage account. Inside that container, create a folder named **Files** that contains all the files and folders to be displayed in the File Manager. Refer to the following paths as an example.
+```csharp
+public AzureProviderController(IHostingEnvironment hostingEnvironment)
+{
+ this.operation = new AzureFileProvider();
+ blobPath = "https://azure_service_account.blob.core.windows.net/blob/";
+ filePath = "https://azure_service_account.blob.core.windows.net/blob/Files";
+ ...
+}
```
-> **Note:** Also, assign the same *blobPath URL* and *filePath URL* in [**AzureFileOperations** and **AzureUpload**](https://github.com/SyncfusionExamples/azure-aspcore-file-provider/blob/master/Controllers/AzureProviderController.cs) methods in the File Manager controller to determine the original path of the Azure blob.
+### Configuring Syncfusion File Manager UI
+
+To configure Syncfusion File Manager, add the File Manager component by using `` selector in template section of the app.component.ts file. Then add the File Manager component as shown in below code example.
-After setting the blob container references, build and run the project. Now, the project will be hosted in `http://localhost:{port}` and just mapping the ajaxSettings property of the File Manager component to the appropriate controller methods allows to manage the Azure blob storage.
+Now, build and run the Azure File Service provider project. It will be hosted in `http://localhost:{port}`. Map the [ajaxSettings](https://ej2.syncfusion.com/angular/documentation/api/file-manager/index-default#ajaxsettings) of the File Manager component to the AzureProvider controller endpoints (Url, UploadUrl, DownloadUrl, GetImageUrl) to manage blobs in your Azure Blob Storage container.
```typescript
@@ -124,39 +164,68 @@ export class AppComponent {
```
-> **NuGet:** Additionally, we have created a [**NuGet**](https://www.nuget.org/packages/Syncfusion.EJ2.FileManager.AzureFileProvider.AspNet.Core) package of **ASP.NET Core Azure file system provider**.
+To perform file operations (Read, Create, Rename, Delete, Get file details, Search, Copy, Move, Upload, Download, GetImage) in the Syncfusion® Angular File Manager component using the Azure cloud file system provider, initialize the Azure cloud provider in the controller.
-Please, use the following command to install the NuGet package in an application.
+### Supported File Operations
-```typescript
+We have enabled below list of features that can be performed using Azure File Service provider,
-dotnet add package Syncfusion.EJ2.FileManager.AzureFileProvider.AspNet.Core
+|Operation | Function |
+|---|---|
+| Upload | [Directory upload](https://ej2.syncfusion.com/angular/documentation/api/file-manager/uploadsettingsmodel#directoryupload) [Sequential upload](https://ej2.syncfusion.com/angular/documentation/api/file-manager/uploadsettingsmodel#sequentialupload) [Chunk upload](https://ej2.syncfusion.com/angular/documentation/api/file-manager/uploadsettingsmodel#chunksize) [Auto upload](https://ej2.syncfusion.com/angular/documentation/api/file-manager/uploadsettingsmodel#autoupload) |
+| Access Control | [Setting rules to files/folders](https://github.com/SyncfusionExamples/azure-aspcore-file-provider/blob/master/Models/AzureFileProvider.cs#L58) [Supported rules](https://github.com/SyncfusionExamples/azure-aspcore-file-provider/blob/master/Models/Base/AccessDetails.cs#L65) |
-```
+Additionally, you can check out all the necessary file operation method details for this provider in the same GitHub repository.
-> **Note:** To learn more about the file actions that can be performed with Azure Cloud File System Provider, refer to this [link](https://github.com/SyncfusionExamples/azure-aspcore-file-provider#key-features)
+> **Note:** To learn more about the file actions supported by the Azure cloud file system provider, refer to the [key features](https://github.com/SyncfusionExamples/azure-aspcore-file-provider#key-features).
## Amazon S3 cloud file provider
-The Amazon ***S3*** (*Simple Storage Service*) cloud file provider allows the users to access and manage a server hosted file system as collection of objects stored in the Amazon S3 Bucket. To get started, clone the [amazon-s3-aspcore-file-provider](https://github.com/SyncfusionExamples/amazon-s3-aspcore-file-provider) using the following command
+### Introduction to Amazon S3
-```typescript
+Amazon Simple Storage Service (Amazon S3) is AWS's object storage service for storing and retrieving any amount of data. S3 is durable, scalable, and pay‑as‑you‑go. In this guide the Syncfusion Angular File Manager connects to S3 through an ASP.NET Core backend so you can securely browse and perform file operations in the File Manager component.
+
+### Prerequisites
+
+Before you integrate Amazon S3 with the Syncfusion Angular File Manager, ensure you have:
+ - An AWS Account
+ - A configured S3 Bucket
+ - AWS credentials: `awsAccessKeyId`, `awsSecretAccessKeyId`, `bucketRegion`, `awsRegion`.
-git clone https://github.com/SyncfusionExamples/amazon-s3-aspcore-file-provider.git amazon-s3-aspcore-file-provider.git
+### Setting Up Amazon S3
+#### Create an S3 Bucket
+
+ - Open the [AWS Management Console guide](https://docs.aws.amazon.com/awsconsolehelpdocs/) and log into AWS Console -> Navigate to S3.
+ - Proceed by clicking `Create Bucket`. A bucket is a container for objects. An object is a file and any metadata that describes that file. The Amazon S3 provider requires a top-level root folder in your bucket to place all required files and subfolders inside this root. Click this [link](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) for more details.
+ - Provide a DNS-compliant bucket name. Click this [link](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) for more details.
+ - Choose the AWS region. Click this [link](https://docs.aws.amazon.com/general/latest/gr/s3.html) for more details.
+
+### Backend Setup
+
+Clone the [Amazon S3 File Provider](https://github.com/SyncfusionExamples/amazon-s3-aspcore-file-provider) using the following command,
+
+```bash
+git clone https://github.com/SyncfusionExamples/ej2-amazon-s3-aspcore-file-provider ej2-amazon-s3-aspcore-file-provider
```
-> **Note:** To learn more about creating and configuring an Amazon S3 bucket, refer to this [link](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-configure-bucket.html).
+> **Note:** This Amazon S3 provider for the Syncfusion Angular File Manager is intended for demonstration and evaluation only. Before using it consult your security team and complete a security review.
-After cloning, open the project in Visual Studio and restore the NuGet packages. Now, register Amazon S3 client account details like *awsAccessKeyId*, *awsSecretKeyId* and *awsRegion* details in **RegisterAmazonS3** method in the File Manager controller to perform the file operations.
+To initialize a local service with the above-mentioned file operations, create a folder named `Controllers` in the server project. Then, create a `.cs` file in the `Controllers` folder and add the required file operation code from [AmazonS3ProviderController.cs](https://github.com/SyncfusionExamples/amazon-s3-aspcore-file-provider/blob/master/Controllers/AmazonS3ProviderController.cs). You can also find the method-level details for this provider in the same repository.
-```typescript
+### Registering S3 Credentials in the Provider
-void RegisterAmazonS3(string bucketName, string awsAccessKeyId, string awsSecretAccessKey, string bucketRegion)
+After cloning, open the project in Visual Studio and restore the NuGet packages. Then, register the Amazon S3 client details (for example, **bucketName**, **awsAccessKeyId**, **awsSecretAccessKeyId**, and **awsRegion**) in the `RegisterAmazonS3` method in the `AmazonS3ProviderController.cs` file.
+```csharp
+this.operation.RegisterAmazonS3("<---bucketName--->", "<---awsAccessKeyId--->", "<---awsSecretAccessKey--->", "<---region--->");
```
-After registering the Amazon client account details, just build and run the project. Now, the project will be hosted in `http://localhost:{port}` and just mapping the **ajaxSettings** property of the File Manager component to the appropriate controller methods allows to manage the Amazon ***S3*** (*Simple Storage Service*) bucket's objects storage.
+### Configuring Syncfusion File Manager UI
+
+To configure Syncfusion File Manager, add the File Manager component by using `` selector in template section of the app.component.ts file. Then add the File Manager component as shown in below code example.
+
+Now, build and run the Amazon File Service provider project. It will be hosted in `http://localhost:{port}`. Map the [ajaxSettings](https://ej2.syncfusion.com/angular/documentation/api/file-manager/index-default#ajaxsettings) of the File Manager component to the AmazonS3Provider controller endpoints (Url, UploadUrl, DownloadUrl, GetImageUrl) to manage blobs in your S3 bucket.
```typescript
@@ -184,7 +253,20 @@ export class AppComponent {
```
-> **Note:** To learn more about the file actions that can be performed with Amazon S3 Cloud File provider, refer to this [link](https://github.com/SyncfusionExamples/amazon-s3-aspcore-file-provider#key-features)
+To perform file operations (Read, Create, Rename, Delete, Get file details, Search, Copy, Move, Upload, Download, GetImage) in the Syncfusion® Angular File Manager component using the Amazon S3 cloud file provider, initialize the Amazon S3 cloud file provider in the controller.
+
+### Supported File Operations
+
+We have enabled below list of features that can be performed using Amazon File Service provider,
+
+|Operation | Function |
+|---|---|
+| Upload | [Directory upload](https://ej2.syncfusion.com/angular/documentation/api/file-manager/uploadsettingsmodel#directoryupload) [Sequential upload](https://ej2.syncfusion.com/angular/documentation/api/file-manager/uploadsettingsmodel#sequentialupload) [Chunk upload](https://ej2.syncfusion.com/angular/documentation/api/file-manager/uploadsettingsmodel#chunksize) [Auto upload](https://ej2.syncfusion.com/angular/documentation/api/file-manager/uploadsettingsmodel#autoupload) |
+| Access Control | [Setting rules to files/folders](https://github.com/SyncfusionExamples/amazon-s3-aspcore-file-provider/blob/master/Models/AmazonS3FileProvider.cs#L51) [Supported rules](https://github.com/SyncfusionExamples/amazon-s3-aspcore-file-provider/blob/master/Models/Base/AccessDetails.cs#L13) |
+
+Additionally, you can check out all the necessary file operation method details for this provider in the same GitHub repository.
+
+> **Note:** To learn more about the file actions supported by the Amazon S3 Cloud File provider, refer to the [key features](https://github.com/SyncfusionExamples/amazon-s3-aspcore-file-provider#key-features).
## SharePoint file provider
@@ -383,45 +465,37 @@ export class AppComponent {
## Node JS file system provider
-The Node JS file system provider allows the users to manage the files and folders in a physical file system. It provides methods for performing all basic file operations like creating a folder, copy, move, delete, and download files and folders in the file system. We can use the Node JS file system provider either by installing the [ej2-filemanager-node-filesystem](https://www.npmjs.com/package/@syncfusion/ej2-filemanager-node-filesystem) package or by cloning the [file system provider](https://github.com/SyncfusionExamples/ej2-filemanager-node-filesystem) from GitHub.
-
-### Using ej2-filemanager-node-filesystem package
+### Introduction
-* Install the ej2-filemanager-node-filesystem package by running the below command.
+The Node JS file system provider lets File Manager perform all basic file operations like creating a folder, copy, move, delete, and download files and folders on a physical file system via a lightweight Node service.
- ```typescript
+### Backend Setup
-npm install @syncfusion/ej2-filemanager-node-filesystem
+Clone the [Node JS provider](https://github.com/SyncfusionExamples/ej2-filemanager-node-filesystem) using the following command,
-```
-
-* After installing the package, navigate to the ej2-filemanager-node-filesystem package folder within the node-modules.
-
-* Run the command **npm install** command.
-
-### Cloning the ej2-filemanager-node-filesystem from GitHub
-
-* Clone the ej2-filemanager-node-filesystem using the following command.
-
-```typescript
+```bash
git clone https://github.com/SyncfusionExamples/ej2-filemanager-node-filesystem.git node-filesystem-provider
```
-* After cloning, open the root folder and run the command **npm install** command.
+**Note:** This Node JS file system provider for the Syncfusion Angular File Manager is intended for demonstration and evaluation only. Before using it in production, consult your security team and complete a security review.
+
+After cloning, open the root folder and run the **npm install** command.
After installing the packages, set the root folder directory of the physical file system in the package JSON under scripts sections as follows.
-```typescript
+```json
+
"start": "node filesystem-server.js -d D:/Projects"
+
```
> **Note:** By default, the root directory will be configured to set `C:/Users` as the root directory.
To set the port in which the project to be hosted and the root directory of the file system. Run the following command.
-```typescript
+```bash
set PORT=3000 && node filesystem-server.js -d D:/Projects
@@ -429,7 +503,11 @@ set PORT=3000 && node filesystem-server.js -d D:/Projects
> **Note:** By default, the service will run `8090` port.
-Now, just mapping the **ajaxSettings** property of the File Manager component to the appropriate file operation methods in the filesystem-server.js file will allow to manage the physical file system with Node JS file system provider.
+### Configuring Syncfusion File Manager UI
+
+To configure Syncfusion File Manager, add the File Manager component by using `` selector in template section of the app.component.ts file. Then add the File Manager component as shown in below code example,
+
+Map the ajaxSettings of the File Manager component to the Node JS controller endpoints.
```typescript
@@ -442,7 +520,7 @@ import { Component } from '@angular/core';
})
export class AppComponent {
public ajaxSettings: object;
- public hostUrl: string = 'http://localhost:8090/';
+ public hostUrl: string = 'http://localhost:{port}/';
public ngOnInit(): void {
// Initializing the File Manager with NodeJS service.
this.ajaxSettings = {
@@ -456,7 +534,18 @@ export class AppComponent {
}
```
-> **Note:** To learn more about the file actions that can be performed with Node JS file system provider, refer to this [link](https://github.com/SyncfusionExamples/ej2-filemanager-node-filesystem#key-features)
+### Supported File Operations
+
+We have enabled below list of features that can be performed using Node JS File Service provider,
+
+|Operation | Function |
+|---|---|
+| Upload | [Directory upload](https://ej2.syncfusion.com/angular/documentation/api/file-manager/uploadsettingsmodel#directoryupload) [Sequential upload](https://ej2.syncfusion.com/angular/documentation/api/file-manager/uploadsettingsmodel#sequentialupload) [Chunk upload](https://ej2.syncfusion.com/angular/documentation/api/file-manager/uploadsettingsmodel#chunksize) [Auto upload](https://ej2.syncfusion.com/angular/documentation/api/file-manager/uploadsettingsmodel#autoupload) |
+| Access Control | [Setting rules to files/folders](https://github.com/SyncfusionExamples/ej2-filemanager-node-filesystem/blob/master/accessRules.json) |
+
+Additionally, you can check out all the necessary file operation method details for this provider in the same GitHub repository.
+
+> **Note:** To learn more about the file actions supported by the Node JS File provider, refer to the [key features](https://github.com/SyncfusionExamples/ej2-filemanager-node-filesystem/blob/master/README.md#key-features)
## Google Drive file system provider
diff --git a/ej2-angular/grid/module.md b/ej2-angular/grid/module.md
index 6caad6ac0c3..32705bd48c2 100644
--- a/ej2-angular/grid/module.md
+++ b/ej2-angular/grid/module.md
@@ -18,6 +18,7 @@ To enable specific features in the Angular Grid component, inject the required v
| [SortService](https://ej2.syncfusion.com/angular/documentation/api/grid/sort) | Inject this service to enable sorting functionality. |
| [FilterService](https://ej2.syncfusion.com/angular/documentation/api/grid/filter) | Inject this service to enable filtering functionality. |
| [GroupService](https://ej2.syncfusion.com/angular/documentation/api/grid/group) | Inject this service to enable grouping functionality. |
+| `LazyLoadGroupService`| Inject this service to enable lazy load grouping feature.|
| [EditService](https://ej2.syncfusion.com/angular/documentation/api/grid/edit) | Inject this service to enable editing functionality. |
| `AggregateService` | Inject this service to enable aggregate operations in the Grid. |
| [ColumnChooserService](https://ej2.syncfusion.com/angular/documentation/api/grid/columnChooser) | Inject this service to enable the column chooser feature. |
@@ -32,10 +33,9 @@ To enable specific features in the Angular Grid component, inject the required v
| `RowDDService` | Inject this service to enable row drag-and-drop functionality. |
| [SearchService](https://ej2.syncfusion.com/angular/documentation/api/grid/search) | Inject this service to enable the search feature. This service is included by default. |
| [SelectionService](https://ej2.syncfusion.com/angular/documentation/api/grid/selection) | Inject this service to enable row and cell selection. This service is included by default. |
-| [ScrollService](https://ej2.syncfusion.com/angular/documentation/api/grid/scroll) | Inject this service to enable grid scrolling. This service is included by default. |
-| [PrintService](https://ej2.syncfusion.com/angular/documentation/api/grid/print) | Inject this service to enable the print feature. This service is included by default. |
+| `VirtualScrollService`| Inject this service to enable virtual scrolling feature.|
+| `InfiniteScrollService`| Inject this service to enable infinite scrolling feature.|
| [ToolbarService](https://ej2.syncfusion.com/angular/documentation/api/grid/toolbar) | Inject this service to enable toolbar actions. |
-| `VirtualScrollService` | Inject this service to enable virtual scrolling. |
| `ExcelExportService` | Inject this service to enable Excel export functionality. |
| `PdfExportService` | Inject this service to enable PDF export functionality. |
diff --git a/ej2-angular/images/AttributeHierarchy.png b/ej2-angular/images/AttributeHierarchy.png
new file mode 100644
index 00000000000..d8e993e67fb
Binary files /dev/null and b/ej2-angular/images/AttributeHierarchy.png differ
diff --git a/ej2-angular/images/Dimension.png b/ej2-angular/images/Dimension.png
new file mode 100644
index 00000000000..7529c2fbb84
Binary files /dev/null and b/ej2-angular/images/Dimension.png differ
diff --git a/ej2-angular/images/FirstLevel.png b/ej2-angular/images/FirstLevel.png
new file mode 100644
index 00000000000..0336d6f6a82
Binary files /dev/null and b/ej2-angular/images/FirstLevel.png differ
diff --git a/ej2-angular/images/Folder.png b/ej2-angular/images/Folder.png
new file mode 100644
index 00000000000..640d47f9f14
Binary files /dev/null and b/ej2-angular/images/Folder.png differ
diff --git a/ej2-angular/images/Initial-setup.png b/ej2-angular/images/Initial-setup.png
new file mode 100644
index 00000000000..fbbf8b0498d
Binary files /dev/null and b/ej2-angular/images/Initial-setup.png differ
diff --git a/ej2-angular/images/Measure.png b/ej2-angular/images/Measure.png
new file mode 100644
index 00000000000..2f5d755ec09
Binary files /dev/null and b/ej2-angular/images/Measure.png differ
diff --git a/ej2-angular/images/NamedSet.png b/ej2-angular/images/NamedSet.png
new file mode 100644
index 00000000000..bac01de45ea
Binary files /dev/null and b/ej2-angular/images/NamedSet.png differ
diff --git a/ej2-angular/images/SecondLevel.png b/ej2-angular/images/SecondLevel.png
new file mode 100644
index 00000000000..3ef9c4d07e9
Binary files /dev/null and b/ej2-angular/images/SecondLevel.png differ
diff --git a/ej2-angular/images/ThirdLevel.png b/ej2-angular/images/ThirdLevel.png
new file mode 100644
index 00000000000..cf14defac47
Binary files /dev/null and b/ej2-angular/images/ThirdLevel.png differ
diff --git a/ej2-angular/images/UserDefinedHierarchy.png b/ej2-angular/images/UserDefinedHierarchy.png
new file mode 100644
index 00000000000..e32f446bca2
Binary files /dev/null and b/ej2-angular/images/UserDefinedHierarchy.png differ
diff --git a/ej2-angular/images/add-header-and-footer-while-exporting.png b/ej2-angular/images/add-header-and-footer-while-exporting.png
new file mode 100644
index 00000000000..956aeedcf4a
Binary files /dev/null and b/ej2-angular/images/add-header-and-footer-while-exporting.png differ
diff --git a/ej2-angular/images/after-change-olap.png b/ej2-angular/images/after-change-olap.png
new file mode 100644
index 00000000000..10435a1f35f
Binary files /dev/null and b/ej2-angular/images/after-change-olap.png differ
diff --git a/ej2-angular/images/after-drag-olap.png b/ej2-angular/images/after-drag-olap.png
new file mode 100644
index 00000000000..176e2807911
Binary files /dev/null and b/ej2-angular/images/after-drag-olap.png differ
diff --git a/ej2-angular/images/after-edit-olap.png b/ej2-angular/images/after-edit-olap.png
new file mode 100644
index 00000000000..b00fd91f516
Binary files /dev/null and b/ej2-angular/images/after-edit-olap.png differ
diff --git a/ej2-angular/images/after-modify-olap.png b/ej2-angular/images/after-modify-olap.png
new file mode 100644
index 00000000000..f81d822919c
Binary files /dev/null and b/ej2-angular/images/after-modify-olap.png differ
diff --git a/ej2-angular/images/aggregation_fl_icon.png b/ej2-angular/images/aggregation_fl_icon.png
new file mode 100644
index 00000000000..54250214482
Binary files /dev/null and b/ej2-angular/images/aggregation_fl_icon.png differ
diff --git a/ej2-angular/images/aggregation_fl_menu.png b/ej2-angular/images/aggregation_fl_menu.png
new file mode 100644
index 00000000000..08c1f5a7ce3
Binary files /dev/null and b/ej2-angular/images/aggregation_fl_menu.png differ
diff --git a/ej2-angular/images/aggregation_gb_menu.png b/ej2-angular/images/aggregation_gb_menu.png
new file mode 100644
index 00000000000..8a357251f1f
Binary files /dev/null and b/ej2-angular/images/aggregation_gb_menu.png differ
diff --git a/ej2-angular/images/azure-asp-core-web-service-create.png b/ej2-angular/images/azure-asp-core-web-service-create.png
new file mode 100644
index 00000000000..477465845b8
Binary files /dev/null and b/ej2-angular/images/azure-asp-core-web-service-create.png differ
diff --git a/ej2-angular/images/before-edit-olap.png b/ej2-angular/images/before-edit-olap.png
new file mode 100644
index 00000000000..465b89251a5
Binary files /dev/null and b/ej2-angular/images/before-edit-olap.png differ
diff --git a/ej2-angular/images/calculatdfield-applyFormate.png b/ej2-angular/images/calculatdfield-applyFormate.png
new file mode 100644
index 00000000000..7ab13cf72ac
Binary files /dev/null and b/ej2-angular/images/calculatdfield-applyFormate.png differ
diff --git a/ej2-angular/images/calculatdfield-field-edit1.png b/ej2-angular/images/calculatdfield-field-edit1.png
new file mode 100644
index 00000000000..e4242fa4b0b
Binary files /dev/null and b/ej2-angular/images/calculatdfield-field-edit1.png differ
diff --git a/ej2-angular/images/calculatdfield-field-edit2.png b/ej2-angular/images/calculatdfield-field-edit2.png
new file mode 100644
index 00000000000..8631b694cd8
Binary files /dev/null and b/ej2-angular/images/calculatdfield-field-edit2.png differ
diff --git a/ej2-angular/images/calculatdfield-formatstring.png b/ej2-angular/images/calculatdfield-formatstring.png
new file mode 100644
index 00000000000..dcf32c382bb
Binary files /dev/null and b/ej2-angular/images/calculatdfield-formatstring.png differ
diff --git a/ej2-angular/images/calculatdfield-grouping-edit1.png b/ej2-angular/images/calculatdfield-grouping-edit1.png
new file mode 100644
index 00000000000..8a9f4becb19
Binary files /dev/null and b/ej2-angular/images/calculatdfield-grouping-edit1.png differ
diff --git a/ej2-angular/images/calculatdfield-grouping-edit2.png b/ej2-angular/images/calculatdfield-grouping-edit2.png
new file mode 100644
index 00000000000..dde228db38e
Binary files /dev/null and b/ej2-angular/images/calculatdfield-grouping-edit2.png differ
diff --git a/ej2-angular/images/calculatdfield-renaming1.png b/ej2-angular/images/calculatdfield-renaming1.png
new file mode 100644
index 00000000000..92a7ea2a8c0
Binary files /dev/null and b/ej2-angular/images/calculatdfield-renaming1.png differ
diff --git a/ej2-angular/images/calculatdfield-renaming2.png b/ej2-angular/images/calculatdfield-renaming2.png
new file mode 100644
index 00000000000..3211de9351f
Binary files /dev/null and b/ej2-angular/images/calculatdfield-renaming2.png differ
diff --git a/ej2-angular/images/calculatdfield-reusing1.png b/ej2-angular/images/calculatdfield-reusing1.png
new file mode 100644
index 00000000000..c9506a6e89b
Binary files /dev/null and b/ej2-angular/images/calculatdfield-reusing1.png differ
diff --git a/ej2-angular/images/calculatdfield-reusing2.png b/ej2-angular/images/calculatdfield-reusing2.png
new file mode 100644
index 00000000000..b1a742de4b1
Binary files /dev/null and b/ej2-angular/images/calculatdfield-reusing2.png differ
diff --git a/ej2-angular/images/calculatdfield-reusing3.png b/ej2-angular/images/calculatdfield-reusing3.png
new file mode 100644
index 00000000000..5548961d4e8
Binary files /dev/null and b/ej2-angular/images/calculatdfield-reusing3.png differ
diff --git a/ej2-angular/images/calculatedfield-drag.png b/ej2-angular/images/calculatedfield-drag.png
new file mode 100644
index 00000000000..54f8bddc644
Binary files /dev/null and b/ej2-angular/images/calculatedfield-drag.png differ
diff --git a/ej2-angular/images/calculatedfield-fomat.png b/ej2-angular/images/calculatedfield-fomat.png
new file mode 100644
index 00000000000..be50d976fef
Binary files /dev/null and b/ej2-angular/images/calculatedfield-fomat.png differ
diff --git a/ej2-angular/images/calculatedfield-format-string.png b/ej2-angular/images/calculatedfield-format-string.png
new file mode 100644
index 00000000000..94cfa45786c
Binary files /dev/null and b/ej2-angular/images/calculatedfield-format-string.png differ
diff --git a/ej2-angular/images/calculatedfield-hierarchy.png b/ej2-angular/images/calculatedfield-hierarchy.png
new file mode 100644
index 00000000000..b74bcc3dfbd
Binary files /dev/null and b/ej2-angular/images/calculatedfield-hierarchy.png differ
diff --git a/ej2-angular/images/calculatedfield-name.png b/ej2-angular/images/calculatedfield-name.png
new file mode 100644
index 00000000000..4a4fa884809
Binary files /dev/null and b/ej2-angular/images/calculatedfield-name.png differ
diff --git a/ej2-angular/images/calculatedfield-type.png b/ej2-angular/images/calculatedfield-type.png
new file mode 100644
index 00000000000..36ebe0bab8f
Binary files /dev/null and b/ej2-angular/images/calculatedfield-type.png differ
diff --git a/ej2-angular/images/cformatting_remove.png b/ej2-angular/images/cformatting_remove.png
new file mode 100644
index 00000000000..44e1eda2dee
Binary files /dev/null and b/ej2-angular/images/cformatting_remove.png differ
diff --git a/ej2-angular/images/chart-legend.png b/ej2-angular/images/chart-legend.png
new file mode 100644
index 00000000000..46ce6865c24
Binary files /dev/null and b/ej2-angular/images/chart-legend.png differ
diff --git a/ej2-angular/images/chart-option.png b/ej2-angular/images/chart-option.png
new file mode 100644
index 00000000000..4bf80fe737d
Binary files /dev/null and b/ej2-angular/images/chart-option.png differ
diff --git a/ej2-angular/images/clear-edit-olap.png b/ej2-angular/images/clear-edit-olap.png
new file mode 100644
index 00000000000..4359c29c8c2
Binary files /dev/null and b/ej2-angular/images/clear-edit-olap.png differ
diff --git a/ej2-angular/images/clearfilter.png b/ej2-angular/images/clearfilter.png
new file mode 100644
index 00000000000..e54f2b89448
Binary files /dev/null and b/ej2-angular/images/clearfilter.png differ
diff --git a/ej2-angular/images/clearvaluefilter.png b/ej2-angular/images/clearvaluefilter.png
new file mode 100644
index 00000000000..7837bb03234
Binary files /dev/null and b/ej2-angular/images/clearvaluefilter.png differ
diff --git a/ej2-angular/images/code-web-app.jpeg b/ej2-angular/images/code-web-app.jpeg
new file mode 100644
index 00000000000..0c9c04448b8
Binary files /dev/null and b/ej2-angular/images/code-web-app.jpeg differ
diff --git a/ej2-angular/images/code-web-app.png b/ej2-angular/images/code-web-app.png
new file mode 100644
index 00000000000..eaa65b123dc
Binary files /dev/null and b/ej2-angular/images/code-web-app.png differ
diff --git a/ej2-angular/images/csv-export-with-server-side-pivot-engine.png b/ej2-angular/images/csv-export-with-server-side-pivot-engine.png
new file mode 100644
index 00000000000..946f01db256
Binary files /dev/null and b/ej2-angular/images/csv-export-with-server-side-pivot-engine.png differ
diff --git a/ej2-angular/images/custom-group-option.png b/ej2-angular/images/custom-group-option.png
new file mode 100644
index 00000000000..fe1963334de
Binary files /dev/null and b/ej2-angular/images/custom-group-option.png differ
diff --git a/ej2-angular/images/custom-group-settings-applied.png b/ej2-angular/images/custom-group-settings-applied.png
new file mode 100644
index 00000000000..9c5ab1d3559
Binary files /dev/null and b/ej2-angular/images/custom-group-settings-applied.png differ
diff --git a/ej2-angular/images/custom-group-settings-caption-applied.png b/ej2-angular/images/custom-group-settings-caption-applied.png
new file mode 100644
index 00000000000..145f3959c40
Binary files /dev/null and b/ej2-angular/images/custom-group-settings-caption-applied.png differ
diff --git a/ej2-angular/images/custom-group-updated.png b/ej2-angular/images/custom-group-updated.png
new file mode 100644
index 00000000000..7e03da92906
Binary files /dev/null and b/ej2-angular/images/custom-group-updated.png differ
diff --git a/ej2-angular/images/custom-ungroup.png b/ej2-angular/images/custom-ungroup.png
new file mode 100644
index 00000000000..755a57730da
Binary files /dev/null and b/ej2-angular/images/custom-ungroup.png differ
diff --git a/ej2-angular/images/date-group-option.png b/ej2-angular/images/date-group-option.png
new file mode 100644
index 00000000000..f799ec43cde
Binary files /dev/null and b/ej2-angular/images/date-group-option.png differ
diff --git a/ej2-angular/images/date-group-settings-applied.png b/ej2-angular/images/date-group-settings-applied.png
new file mode 100644
index 00000000000..0347871450c
Binary files /dev/null and b/ej2-angular/images/date-group-settings-applied.png differ
diff --git a/ej2-angular/images/date-group-settings-interval-applied.png b/ej2-angular/images/date-group-settings-interval-applied.png
new file mode 100644
index 00000000000..4b481d348d6
Binary files /dev/null and b/ej2-angular/images/date-group-settings-interval-applied.png differ
diff --git a/ej2-angular/images/date-group-settings-range-applied.png b/ej2-angular/images/date-group-settings-range-applied.png
new file mode 100644
index 00000000000..a5bc11f1af5
Binary files /dev/null and b/ej2-angular/images/date-group-settings-range-applied.png differ
diff --git a/ej2-angular/images/date-group-updated.png b/ej2-angular/images/date-group-updated.png
new file mode 100644
index 00000000000..ed2b9c89587
Binary files /dev/null and b/ej2-angular/images/date-group-updated.png differ
diff --git a/ej2-angular/images/date-ungroup.png b/ej2-angular/images/date-ungroup.png
new file mode 100644
index 00000000000..3867cc5fe33
Binary files /dev/null and b/ej2-angular/images/date-ungroup.png differ
diff --git a/ej2-angular/images/drill.png b/ej2-angular/images/drill.png
new file mode 100644
index 00000000000..5a9d7ba2f74
Binary files /dev/null and b/ej2-angular/images/drill.png differ
diff --git a/ej2-angular/images/drill_position.png b/ej2-angular/images/drill_position.png
new file mode 100644
index 00000000000..e1b8354323b
Binary files /dev/null and b/ej2-angular/images/drill_position.png differ
diff --git a/ej2-angular/images/editor_alluncheck.png b/ej2-angular/images/editor_alluncheck.png
new file mode 100644
index 00000000000..e9962401167
Binary files /dev/null and b/ej2-angular/images/editor_alluncheck.png differ
diff --git a/ej2-angular/images/editor_inter.png b/ej2-angular/images/editor_inter.png
new file mode 100644
index 00000000000..8eb36740170
Binary files /dev/null and b/ej2-angular/images/editor_inter.png differ
diff --git a/ej2-angular/images/elasticsearch-data-binding.png b/ej2-angular/images/elasticsearch-data-binding.png
new file mode 100644
index 00000000000..664c85513e2
Binary files /dev/null and b/ej2-angular/images/elasticsearch-data-binding.png differ
diff --git a/ej2-angular/images/elasticsearch-data.png b/ej2-angular/images/elasticsearch-data.png
new file mode 100644
index 00000000000..8a2e07c5b68
Binary files /dev/null and b/ej2-angular/images/elasticsearch-data.png differ
diff --git a/ej2-angular/images/excel-export-with-server-side-pivot-engine.png b/ej2-angular/images/excel-export-with-server-side-pivot-engine.png
new file mode 100644
index 00000000000..df2df37e0ca
Binary files /dev/null and b/ej2-angular/images/excel-export-with-server-side-pivot-engine.png differ
diff --git a/ej2-angular/images/expand_collapse.png b/ej2-angular/images/expand_collapse.png
new file mode 100644
index 00000000000..6f3b58a64b6
Binary files /dev/null and b/ej2-angular/images/expand_collapse.png differ
diff --git a/ej2-angular/images/export-as-pivot.png b/ej2-angular/images/export-as-pivot.png
new file mode 100644
index 00000000000..ef20f9dce0d
Binary files /dev/null and b/ej2-angular/images/export-as-pivot.png differ
diff --git a/ej2-angular/images/fieldlist-default-sort.png b/ej2-angular/images/fieldlist-default-sort.png
new file mode 100644
index 00000000000..3b8927a8814
Binary files /dev/null and b/ej2-angular/images/fieldlist-default-sort.png differ
diff --git a/ej2-angular/images/fieldlist_aggregation_avg.png b/ej2-angular/images/fieldlist_aggregation_avg.png
new file mode 100644
index 00000000000..99efc8cf812
Binary files /dev/null and b/ej2-angular/images/fieldlist_aggregation_avg.png differ
diff --git a/ej2-angular/images/fieldlist_aggregation_grid.png b/ej2-angular/images/fieldlist_aggregation_grid.png
new file mode 100644
index 00000000000..4ccd4c32179
Binary files /dev/null and b/ej2-angular/images/fieldlist_aggregation_grid.png differ
diff --git a/ej2-angular/images/fieldlist_axes.png b/ej2-angular/images/fieldlist_axes.png
new file mode 100644
index 00000000000..65781b1821c
Binary files /dev/null and b/ej2-angular/images/fieldlist_axes.png differ
diff --git a/ej2-angular/images/fieldlist_deferupdate.png b/ej2-angular/images/fieldlist_deferupdate.png
new file mode 100644
index 00000000000..1495d6f452b
Binary files /dev/null and b/ej2-angular/images/fieldlist_deferupdate.png differ
diff --git a/ej2-angular/images/fieldlist_editor.png b/ej2-angular/images/fieldlist_editor.png
new file mode 100644
index 00000000000..2459ea2aa61
Binary files /dev/null and b/ej2-angular/images/fieldlist_editor.png differ
diff --git a/ej2-angular/images/fieldlist_filtericon.png b/ej2-angular/images/fieldlist_filtericon.png
new file mode 100644
index 00000000000..7629119caa8
Binary files /dev/null and b/ej2-angular/images/fieldlist_filtericon.png differ
diff --git a/ej2-angular/images/fieldlist_filteringgrid.png b/ej2-angular/images/fieldlist_filteringgrid.png
new file mode 100644
index 00000000000..36a8a928bc0
Binary files /dev/null and b/ej2-angular/images/fieldlist_filteringgrid.png differ
diff --git a/ej2-angular/images/fieldlist_sortgrid.png b/ej2-angular/images/fieldlist_sortgrid.png
new file mode 100644
index 00000000000..e2f48dae2b4
Binary files /dev/null and b/ej2-angular/images/fieldlist_sortgrid.png differ
diff --git a/ej2-angular/images/fieldlist_sorticon.png b/ej2-angular/images/fieldlist_sorticon.png
new file mode 100644
index 00000000000..24666d752b6
Binary files /dev/null and b/ej2-angular/images/fieldlist_sorticon.png differ
diff --git a/ej2-angular/images/fieldlist_treeview.png b/ej2-angular/images/fieldlist_treeview.png
new file mode 100644
index 00000000000..796d23e3b7c
Binary files /dev/null and b/ej2-angular/images/fieldlist_treeview.png differ
diff --git a/ej2-angular/images/filter_dialog_gb.png b/ej2-angular/images/filter_dialog_gb.png
new file mode 100644
index 00000000000..8f2664ad522
Binary files /dev/null and b/ej2-angular/images/filter_dialog_gb.png differ
diff --git a/ej2-angular/images/filter_grid_gb.png b/ej2-angular/images/filter_grid_gb.png
new file mode 100644
index 00000000000..1d45786f92f
Binary files /dev/null and b/ej2-angular/images/filter_grid_gb.png differ
diff --git a/ej2-angular/images/filter_icon_gb.png b/ej2-angular/images/filter_icon_gb.png
new file mode 100644
index 00000000000..296e09a7c7b
Binary files /dev/null and b/ej2-angular/images/filter_icon_gb.png differ
diff --git a/ej2-angular/images/gs_calc_button.png b/ej2-angular/images/gs_calc_button.png
new file mode 100644
index 00000000000..51a211ef44f
Binary files /dev/null and b/ej2-angular/images/gs_calc_button.png differ
diff --git a/ej2-angular/images/gs_calc_dialog.png b/ej2-angular/images/gs_calc_dialog.png
new file mode 100644
index 00000000000..c40afbbd34e
Binary files /dev/null and b/ej2-angular/images/gs_calc_dialog.png differ
diff --git a/ej2-angular/images/gs_calc_grid.png b/ej2-angular/images/gs_calc_grid.png
new file mode 100644
index 00000000000..c1196f6a8b1
Binary files /dev/null and b/ej2-angular/images/gs_calc_grid.png differ
diff --git a/ej2-angular/images/initial_member.png b/ej2-angular/images/initial_member.png
new file mode 100644
index 00000000000..be67d23e4a3
Binary files /dev/null and b/ej2-angular/images/initial_member.png differ
diff --git a/ej2-angular/images/labelfiltering_dialog.png b/ej2-angular/images/labelfiltering_dialog.png
new file mode 100644
index 00000000000..c19ce233308
Binary files /dev/null and b/ej2-angular/images/labelfiltering_dialog.png differ
diff --git a/ej2-angular/images/labelfiltering_fl_icon.png b/ej2-angular/images/labelfiltering_fl_icon.png
new file mode 100644
index 00000000000..6c81122078b
Binary files /dev/null and b/ej2-angular/images/labelfiltering_fl_icon.png differ
diff --git a/ej2-angular/images/labelfiltering_gb_icon.png b/ej2-angular/images/labelfiltering_gb_icon.png
new file mode 100644
index 00000000000..6a7a10e3177
Binary files /dev/null and b/ej2-angular/images/labelfiltering_gb_icon.png differ
diff --git a/ej2-angular/images/labelfiltering_grid.png b/ej2-angular/images/labelfiltering_grid.png
new file mode 100644
index 00000000000..1bfab2c8b49
Binary files /dev/null and b/ej2-angular/images/labelfiltering_grid.png differ
diff --git a/ej2-angular/images/level-count.png b/ej2-angular/images/level-count.png
new file mode 100644
index 00000000000..4ff34bffdce
Binary files /dev/null and b/ej2-angular/images/level-count.png differ
diff --git a/ej2-angular/images/locale.png b/ej2-angular/images/locale.png
new file mode 100644
index 00000000000..edf737d91d2
Binary files /dev/null and b/ej2-angular/images/locale.png differ
diff --git a/ej2-angular/images/maxrows.png b/ej2-angular/images/maxrows.png
new file mode 100644
index 00000000000..83bbef65838
Binary files /dev/null and b/ej2-angular/images/maxrows.png differ
diff --git a/ej2-angular/images/member-sort.png b/ej2-angular/images/member-sort.png
new file mode 100644
index 00000000000..653b65ccd9b
Binary files /dev/null and b/ej2-angular/images/member-sort.png differ
diff --git a/ej2-angular/images/mongodb-data-binding.png b/ej2-angular/images/mongodb-data-binding.png
new file mode 100644
index 00000000000..a179d0f8288
Binary files /dev/null and b/ej2-angular/images/mongodb-data-binding.png differ
diff --git a/ej2-angular/images/mongodb-data-nuget-package-install.png b/ej2-angular/images/mongodb-data-nuget-package-install.png
new file mode 100644
index 00000000000..92a5a526f52
Binary files /dev/null and b/ej2-angular/images/mongodb-data-nuget-package-install.png differ
diff --git a/ej2-angular/images/mongodb-data.png b/ej2-angular/images/mongodb-data.png
new file mode 100644
index 00000000000..bc018b9c869
Binary files /dev/null and b/ej2-angular/images/mongodb-data.png differ
diff --git a/ej2-angular/images/ms-data-sqlclient-nuget-package-install.png b/ej2-angular/images/ms-data-sqlclient-nuget-package-install.png
new file mode 100644
index 00000000000..1a6b1ebe13f
Binary files /dev/null and b/ej2-angular/images/ms-data-sqlclient-nuget-package-install.png differ
diff --git a/ej2-angular/images/multiple-axis-mode.png b/ej2-angular/images/multiple-axis-mode.png
new file mode 100644
index 00000000000..7c74c6e6a04
Binary files /dev/null and b/ej2-angular/images/multiple-axis-mode.png differ
diff --git a/ej2-angular/images/mysql-data-nuget-package-install.png b/ej2-angular/images/mysql-data-nuget-package-install.png
new file mode 100644
index 00000000000..d3de34108f4
Binary files /dev/null and b/ej2-angular/images/mysql-data-nuget-package-install.png differ
diff --git a/ej2-angular/images/mysql-data.png b/ej2-angular/images/mysql-data.png
new file mode 100644
index 00000000000..0381aa1b34b
Binary files /dev/null and b/ej2-angular/images/mysql-data.png differ
diff --git a/ej2-angular/images/nested-custom-group-option.png b/ej2-angular/images/nested-custom-group-option.png
new file mode 100644
index 00000000000..8371eeef3b2
Binary files /dev/null and b/ej2-angular/images/nested-custom-group-option.png differ
diff --git a/ej2-angular/images/nested-custom-group-settings-applied.png b/ej2-angular/images/nested-custom-group-settings-applied.png
new file mode 100644
index 00000000000..aa279248e51
Binary files /dev/null and b/ej2-angular/images/nested-custom-group-settings-applied.png differ
diff --git a/ej2-angular/images/nested-custom-group-updated.png b/ej2-angular/images/nested-custom-group-updated.png
new file mode 100644
index 00000000000..86ab552a6a1
Binary files /dev/null and b/ej2-angular/images/nested-custom-group-updated.png differ
diff --git a/ej2-angular/images/next-nuget-package-install.png b/ej2-angular/images/next-nuget-package-install.png
new file mode 100644
index 00000000000..928de533780
Binary files /dev/null and b/ej2-angular/images/next-nuget-package-install.png differ
diff --git a/ej2-angular/images/number-group-option.png b/ej2-angular/images/number-group-option.png
new file mode 100644
index 00000000000..fec96ea3388
Binary files /dev/null and b/ej2-angular/images/number-group-option.png differ
diff --git a/ej2-angular/images/number-group-settings-applied.png b/ej2-angular/images/number-group-settings-applied.png
new file mode 100644
index 00000000000..fd899f5aff5
Binary files /dev/null and b/ej2-angular/images/number-group-settings-applied.png differ
diff --git a/ej2-angular/images/number-group-settings-range-applied.png b/ej2-angular/images/number-group-settings-range-applied.png
new file mode 100644
index 00000000000..688244e1486
Binary files /dev/null and b/ej2-angular/images/number-group-settings-range-applied.png differ
diff --git a/ej2-angular/images/number-group-updated.png b/ej2-angular/images/number-group-updated.png
new file mode 100644
index 00000000000..33407e36c53
Binary files /dev/null and b/ej2-angular/images/number-group-updated.png differ
diff --git a/ej2-angular/images/number-ungroup.png b/ej2-angular/images/number-ungroup.png
new file mode 100644
index 00000000000..9ee9fffe2c5
Binary files /dev/null and b/ej2-angular/images/number-ungroup.png differ
diff --git a/ej2-angular/images/olap_calc_button.png b/ej2-angular/images/olap_calc_button.png
new file mode 100644
index 00000000000..7f5ce4be614
Binary files /dev/null and b/ej2-angular/images/olap_calc_button.png differ
diff --git a/ej2-angular/images/olap_calc_grid.png b/ej2-angular/images/olap_calc_grid.png
new file mode 100644
index 00000000000..dba2a22acca
Binary files /dev/null and b/ej2-angular/images/olap_calc_grid.png differ
diff --git a/ej2-angular/images/ondemand_member.png b/ej2-angular/images/ondemand_member.png
new file mode 100644
index 00000000000..41ec2b8c832
Binary files /dev/null and b/ej2-angular/images/ondemand_member.png differ
diff --git a/ej2-angular/images/oracle-code-web-app.png b/ej2-angular/images/oracle-code-web-app.png
new file mode 100644
index 00000000000..c0ca1ed3459
Binary files /dev/null and b/ej2-angular/images/oracle-code-web-app.png differ
diff --git a/ej2-angular/images/oracle-data-binding.png b/ej2-angular/images/oracle-data-binding.png
new file mode 100644
index 00000000000..2b22dd25d7d
Binary files /dev/null and b/ej2-angular/images/oracle-data-binding.png differ
diff --git a/ej2-angular/images/oracle-data-nuget-package-install.png b/ej2-angular/images/oracle-data-nuget-package-install.png
new file mode 100644
index 00000000000..360ded241a1
Binary files /dev/null and b/ej2-angular/images/oracle-data-nuget-package-install.png differ
diff --git a/ej2-angular/images/output_load_report.png b/ej2-angular/images/output_load_report.png
new file mode 100644
index 00000000000..487faa18dd2
Binary files /dev/null and b/ej2-angular/images/output_load_report.png differ
diff --git a/ej2-angular/images/output_new_report.png b/ej2-angular/images/output_new_report.png
new file mode 100644
index 00000000000..07cb9952832
Binary files /dev/null and b/ej2-angular/images/output_new_report.png differ
diff --git a/ej2-angular/images/output_remove_report.png b/ej2-angular/images/output_remove_report.png
new file mode 100644
index 00000000000..13b59488551
Binary files /dev/null and b/ej2-angular/images/output_remove_report.png differ
diff --git a/ej2-angular/images/output_rename_report.png b/ej2-angular/images/output_rename_report.png
new file mode 100644
index 00000000000..f8da4f9ef3f
Binary files /dev/null and b/ej2-angular/images/output_rename_report.png differ
diff --git a/ej2-angular/images/output_save_as_report.png b/ej2-angular/images/output_save_as_report.png
new file mode 100644
index 00000000000..e491a420c04
Binary files /dev/null and b/ej2-angular/images/output_save_as_report.png differ
diff --git a/ej2-angular/images/output_save_report.png b/ej2-angular/images/output_save_report.png
new file mode 100644
index 00000000000..4aeae9891a3
Binary files /dev/null and b/ej2-angular/images/output_save_report.png differ
diff --git a/ej2-angular/images/pivottable-with-mysql-data.png b/ej2-angular/images/pivottable-with-mysql-data.png
new file mode 100644
index 00000000000..7340dc3fdab
Binary files /dev/null and b/ej2-angular/images/pivottable-with-mysql-data.png differ
diff --git a/ej2-angular/images/postgresql-data-binding.png b/ej2-angular/images/postgresql-data-binding.png
new file mode 100644
index 00000000000..db735da401d
Binary files /dev/null and b/ej2-angular/images/postgresql-data-binding.png differ
diff --git a/ej2-angular/images/postgresql-data-nuget-package-install.png b/ej2-angular/images/postgresql-data-nuget-package-install.png
new file mode 100644
index 00000000000..2b499d26e4d
Binary files /dev/null and b/ej2-angular/images/postgresql-data-nuget-package-install.png differ
diff --git a/ej2-angular/images/postgresql_data.png b/ej2-angular/images/postgresql_data.png
new file mode 100644
index 00000000000..fea9e9ec889
Binary files /dev/null and b/ej2-angular/images/postgresql_data.png differ
diff --git a/ej2-angular/images/search.png b/ej2-angular/images/search.png
new file mode 100644
index 00000000000..7c5e4487e34
Binary files /dev/null and b/ej2-angular/images/search.png differ
diff --git a/ej2-angular/images/server-side-demo.png b/ej2-angular/images/server-side-demo.png
new file mode 100644
index 00000000000..97f78f89a95
Binary files /dev/null and b/ej2-angular/images/server-side-demo.png differ
diff --git a/ej2-angular/images/server-side-sample.png b/ej2-angular/images/server-side-sample.png
new file mode 100644
index 00000000000..0f70745a8bf
Binary files /dev/null and b/ej2-angular/images/server-side-sample.png differ
diff --git a/ej2-angular/images/server-side-with-collection-data.png b/ej2-angular/images/server-side-with-collection-data.png
new file mode 100644
index 00000000000..97f78f89a95
Binary files /dev/null and b/ej2-angular/images/server-side-with-collection-data.png differ
diff --git a/ej2-angular/images/server-side-with-csv-data.png b/ej2-angular/images/server-side-with-csv-data.png
new file mode 100644
index 00000000000..54415b33781
Binary files /dev/null and b/ej2-angular/images/server-side-with-csv-data.png differ
diff --git a/ej2-angular/images/server-side-with-data-table.png b/ej2-angular/images/server-side-with-data-table.png
new file mode 100644
index 00000000000..97f78f89a95
Binary files /dev/null and b/ej2-angular/images/server-side-with-data-table.png differ
diff --git a/ej2-angular/images/server-side-with-dynamic-object.png b/ej2-angular/images/server-side-with-dynamic-object.png
new file mode 100644
index 00000000000..ac9f5004588
Binary files /dev/null and b/ej2-angular/images/server-side-with-dynamic-object.png differ
diff --git a/ej2-angular/images/server-side-with-expandoobject.png b/ej2-angular/images/server-side-with-expandoobject.png
new file mode 100644
index 00000000000..dd6c333594e
Binary files /dev/null and b/ej2-angular/images/server-side-with-expandoobject.png differ
diff --git a/ej2-angular/images/server-side-with-json-data.png b/ej2-angular/images/server-side-with-json-data.png
new file mode 100644
index 00000000000..08aff348973
Binary files /dev/null and b/ej2-angular/images/server-side-with-json-data.png differ
diff --git a/ej2-angular/images/snowflake-code-web-app.png b/ej2-angular/images/snowflake-code-web-app.png
new file mode 100644
index 00000000000..3e85a6a2841
Binary files /dev/null and b/ej2-angular/images/snowflake-code-web-app.png differ
diff --git a/ej2-angular/images/snowflake-data-binding.png b/ej2-angular/images/snowflake-data-binding.png
new file mode 100644
index 00000000000..6c0a7bb3230
Binary files /dev/null and b/ej2-angular/images/snowflake-data-binding.png differ
diff --git a/ej2-angular/images/snowflake-data-nuget-package-install.png b/ej2-angular/images/snowflake-data-nuget-package-install.png
new file mode 100644
index 00000000000..1a75b662da4
Binary files /dev/null and b/ej2-angular/images/snowflake-data-nuget-package-install.png differ
diff --git a/ej2-angular/images/solution-explorer.png b/ej2-angular/images/solution-explorer.png
new file mode 100644
index 00000000000..f8a50a71717
Binary files /dev/null and b/ej2-angular/images/solution-explorer.png differ
diff --git a/ej2-angular/images/sorting_fl.png b/ej2-angular/images/sorting_fl.png
new file mode 100644
index 00000000000..4a7a4ef35ad
Binary files /dev/null and b/ej2-angular/images/sorting_fl.png differ
diff --git a/ej2-angular/images/sorting_gb.png b/ej2-angular/images/sorting_gb.png
new file mode 100644
index 00000000000..429b429e015
Binary files /dev/null and b/ej2-angular/images/sorting_gb.png differ
diff --git a/ej2-angular/images/sorting_grid.png b/ej2-angular/images/sorting_grid.png
new file mode 100644
index 00000000000..9370e9f46a6
Binary files /dev/null and b/ej2-angular/images/sorting_grid.png differ
diff --git a/ej2-angular/images/sql-data-binding.png b/ej2-angular/images/sql-data-binding.png
new file mode 100644
index 00000000000..664c85513e2
Binary files /dev/null and b/ej2-angular/images/sql-data-binding.png differ
diff --git a/ej2-angular/images/treeview.png b/ej2-angular/images/treeview.png
new file mode 100644
index 00000000000..64e5486311b
Binary files /dev/null and b/ej2-angular/images/treeview.png differ
diff --git a/ej2-angular/images/valuefiltering_dialog.png b/ej2-angular/images/valuefiltering_dialog.png
new file mode 100644
index 00000000000..896ccaaee7a
Binary files /dev/null and b/ej2-angular/images/valuefiltering_dialog.png differ
diff --git a/ej2-angular/images/valuefiltering_grid.png b/ej2-angular/images/valuefiltering_grid.png
new file mode 100644
index 00000000000..3602d654f38
Binary files /dev/null and b/ej2-angular/images/valuefiltering_grid.png differ
diff --git a/ej2-angular/images/while-drag-olap.png b/ej2-angular/images/while-drag-olap.png
new file mode 100644
index 00000000000..ac74fae43c8
Binary files /dev/null and b/ej2-angular/images/while-drag-olap.png differ
diff --git a/ej2-angular/pivotview/accessibility.md b/ej2-angular/pivotview/accessibility.md
index 2b283c8c52f..73cac81ac97 100644
--- a/ej2-angular/pivotview/accessibility.md
+++ b/ej2-angular/pivotview/accessibility.md
@@ -16,15 +16,15 @@ The accessibility compliance for the pivot table component is outlined below.
| Accessibility Criteria | Compatibility |
| -- | -- |
-| [WCAG 2.2](https://www.w3.org/TR/WCAG22/) Support | |
-| [Section 508](https://www.section508.gov/) Support | |
-| Screen Reader Support | |
-| Right-To-Left Support | |
-| Color Contrast | |
-| Mobile Device Support | |
-| Keyboard Navigation Support | |
-| [Accessibility Checker](https://www.npmjs.com/package/accessibility-checker) Validation | |
-| [Axe-core](https://www.npmjs.com/package/axe-core) Accessibility Validation | |
+| [WCAG 2.2](https://www.w3.org/TR/WCAG22/) Support | |
+| [Section 508](https://www.section508.gov/) Support | |
+| Screen Reader Support | |
+| Right-To-Left Support | |
+| Color Contrast | |
+| Mobile Device Support | |
+| Keyboard Navigation Support | |
+| [Accessibility Checker](https://www.npmjs.com/package/accessibility-checker) Validation | |
+| [Axe-core](https://www.npmjs.com/package/axe-core) Accessibility Validation | |
- - All features of the component meet the requirement.
+ - All features of the component meet the requirement.
- - Some features of the component do not meet the requirement.
+ - Some features of the component do not meet the requirement.
- - The component does not meet the requirement.
+ - The component does not meet the requirement.
## WAI-ARIA attributes
diff --git a/ej2-angular/pivotview/aggregation.md b/ej2-angular/pivotview/aggregation.md
index 3deb7c717ef..5e6b91394c6 100644
--- a/ej2-angular/pivotview/aggregation.md
+++ b/ej2-angular/pivotview/aggregation.md
@@ -69,10 +69,10 @@ For each value field, the aggregation type can be set using the property [`type`
You can dynamically modify the aggregation type for value fields in the Pivot Table component through the UI at runtime. Value fields, displayed in the grouping bar and field list, include a dropdown icon that allows you to select from various aggregation types (e.g., **Sum**, **Average**, **Count**). Once you select a new aggregation type, the pivot table updates instantly to reflect the change, providing a seamless experience for data analysis.
-
+
-
+
## Show desired aggregation types in its dropdown menu
diff --git a/ej2-angular/pivotview/calculated-field.md b/ej2-angular/pivotview/calculated-field.md
index 08560cbdd0b..4021d64cac3 100644
--- a/ej2-angular/pivotview/calculated-field.md
+++ b/ej2-angular/pivotview/calculated-field.md
@@ -72,10 +72,10 @@ To edit an existing calculated field:
4. Make changes to the field name, formula, or format as needed.
5. Click **OK** to apply the changes.
-
+
-
+
## Renaming an existing calculated field
@@ -89,10 +89,10 @@ To rename a calculated field:
4. Replace the existing name with your preferred name.
5. Click **OK** to save the new name.
-
+
-
+
## Editing an existing calculated field formula
@@ -109,10 +109,10 @@ To edit an existing calculated field formula:
The pivot table will automatically refresh to reflect the updated calculations.
-
+
-
+
## Reusing an existing formula in a new calculated field
@@ -128,13 +128,13 @@ To reuse an existing formula:
6. Modify the formula further if needed, or use it as is.
7. Click **OK** to create the new calculated field.
-
+
-
+
-
+
## Applying formatting to calculated field values
@@ -154,13 +154,13 @@ To apply formatting to calculated field values via the user interface, use the b
> **Note:** By default, **None** is selected in the dropdown.
-
+
### Applying custom formatting
For specific formatting requirements, select the **Custom** option from the "Format" dropdown. This allows you to enter custom format patterns that meet your exact display needs.
-
+
## Supported operators and functions for the calculated field formula
diff --git a/ej2-angular/pivotview/conditional-formatting.md b/ej2-angular/pivotview/conditional-formatting.md
index fdfed276e7d..58a0cd6e704 100644
--- a/ej2-angular/pivotview/conditional-formatting.md
+++ b/ej2-angular/pivotview/conditional-formatting.md
@@ -100,7 +100,7 @@ To apply conditional formatting exclusively to a particular value field, set the
Editing and removing existing conditional format can be done through the UI at runtime. To do so, open the conditional formatting dialog and edit the "Value", "Condition" and "Format" options based on user requirement and click "OK". To remove a conditional format, click the "Delete" icon besides the respective condition.
-
+
## Event
diff --git a/ej2-angular/pivotview/connecting-to-data-source/elasticsearch.md b/ej2-angular/pivotview/connecting-to-data-source/elasticsearch.md
index 800807937d7..08781dd6612 100644
--- a/ej2-angular/pivotview/connecting-to-data-source/elasticsearch.md
+++ b/ej2-angular/pivotview/connecting-to-data-source/elasticsearch.md
@@ -20,13 +20,13 @@ Follow these steps to create a Web API service that retrieves data from an Elast
1. Open Visual Studio and create a new **ASP.NET Core Web App** project named **MyWebService**.
2. Follow the instructions in the [Microsoft documentation](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022) to set up the project.
-
+
### Step 2: Install the NEST NuGet Package
1. Open the **NuGet Package Manager** in your project solution.
2. Search for the **NEST** package and install it to enable connectivity with the Elasticsearch server.
-
+
### Step 3: Create a Web API Controller
1. In the **Controllers** folder, create a new Web API controller named **PivotController.cs**.
@@ -85,7 +85,7 @@ Here’s the sample code for the **PivotController.cs** file:
1. Access the Web API endpoint at `https://localhost:44323/Pivot` to view the JSON data retrieved from the Elasticsearch database.
2. The browser will display the JSON data, as shown below.
-
+
## Connecting the Pivot Table to an Elasticsearch Database Using the Web API Service
@@ -171,7 +171,7 @@ export class AppComponent implements OnInit {
2. The Pivot Table will display the data fetched from the Elasticsearch database via the Web API, structured according to the defined report.
3. The resulting Pivot Table will look like this:
-
+
### Additional Resources
Explore a complete example of the Angular Pivot Table integrated with an ASP.NET Core Web Application to fetch data from an Elasticsearch database in this [GitHub](https://github.com/SyncfusionExamples/how-to-bind-Elasticsearch-database-to-pivot-table) repository.
\ No newline at end of file
diff --git a/ej2-angular/pivotview/connecting-to-data-source/microsoft-sql-server.md b/ej2-angular/pivotview/connecting-to-data-source/microsoft-sql-server.md
index 1e4765892e9..1b865f960b1 100644
--- a/ej2-angular/pivotview/connecting-to-data-source/microsoft-sql-server.md
+++ b/ej2-angular/pivotview/connecting-to-data-source/microsoft-sql-server.md
@@ -106,7 +106,7 @@ namespace PivotController.Controllers
1. Access the Web API endpoint at `https://localhost:7139/pivot` to view the JSON data retrieved from the SQL Server database.
2. The browser will display the JSON data, as shown below, ready to be used by the Pivot Table.
-
+
## Connecting the Pivot Table to the Hosted Web API URL
@@ -185,7 +185,7 @@ export class AppComponent implements OnInit {
2. The Pivot Table will display the data fetched from the SQL Server database via the Web API, structured according to the defined report.
3. The resulting Pivot Table will look like this:
-
+
### Additional Resources
Explore a complete example of the Angular Pivot Table integrated with an ASP.NET Core Web Application to fetch data from a SQL Server database in the [GitHub](https://github.com/SyncfusionExamples/how-to-bind-SQL-database-to-pivot-table) repository.
\ No newline at end of file
diff --git a/ej2-angular/pivotview/connecting-to-data-source/mongodb.md b/ej2-angular/pivotview/connecting-to-data-source/mongodb.md
index 8ba2ba500a0..39a0d905057 100644
--- a/ej2-angular/pivotview/connecting-to-data-source/mongodb.md
+++ b/ej2-angular/pivotview/connecting-to-data-source/mongodb.md
@@ -20,14 +20,14 @@ Follow these steps to create a Web API service that retrieves data from a MongoD
1. Open Visual Studio and create a new **ASP.NET Core Web App** project named **MyWebService**.
2. Follow the official [Microsoft documentation](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022) for detailed instructions on creating an ASP.NET Core Web application.
-
+
### Step 2: Install the MongoDB NuGet Packages
To enable MongoDB database connectivity:
1. Open the **NuGet Package Manager** in your project solution and search for the packages [MongoDB.Driver](https://www.nuget.org/packages/MongoDB.Driver/) and [MongoDB.Bson](https://www.nuget.org/packages/MongoDB.Bson).
2. Install both packages to add MongoDB support.
-
+
### Step 3: Create a Web API Controller
1. Under the **Controllers** folder, create a new Web API controller named **PivotController.cs**.
@@ -129,7 +129,7 @@ namespace MyWebService.Controllers
1. Access the Web API endpoint at `https://localhost:44346/Pivot` to view the JSON data retrieved from the MongoDB database.
2. The browser will display the JSON data, as shown below.
-
+
## Connecting the Pivot Table to a MongoDB Database Using the Web API Service
@@ -212,7 +212,7 @@ export class AppComponent implements OnInit {
2. The Pivot Table will display the data fetched from the MongoDB database via the Web API, structured according to the defined report.
3. The resulting Pivot Table will look like this:
-
+
### Additional Resources
Explore a complete example of the Angular Pivot Table integrated with an ASP.NET Core Web Application to fetch data from a MongoDB database in this [GitHub](https://github.com/SyncfusionExamples/how-to-bind-MongoDB-to-pivot-table) repository.
\ No newline at end of file
diff --git a/ej2-angular/pivotview/connecting-to-data-source/mysql.md b/ej2-angular/pivotview/connecting-to-data-source/mysql.md
index 827442b49a5..f38751e5422 100644
--- a/ej2-angular/pivotview/connecting-to-data-source/mysql.md
+++ b/ej2-angular/pivotview/connecting-to-data-source/mysql.md
@@ -16,14 +16,14 @@ Follow these steps to create a Web API service that retrieves data from a MySQL
1. Open Visual Studio and create a new **ASP.NET Core Web App** project named **MyWebService**
2. Follow the official [Microsoft documentation](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022) for detailed instructions on creating an ASP.NET Core Web application.
-
+
### Step 2: Install the MySql.Data NuGet Package
To enable MySQL database connectivity in your application:
1. Open the **NuGet Package Manager** in your project solution and search for **MySql.Data**.
2. Install the **MySql.Data** package to add MySQL database support.
-
+
### Step 3: Create a Web API Controller
1. In the **Controllers** folder, create a new file named **PivotController.cs**.
@@ -115,7 +115,7 @@ In the **PivotController.cs** file, define a **Get** method that calls **GetMySQ
1. Access the Web API endpoint at `https://localhost:7146/Pivot` to view the JSON data retrieved from the MySQL database.
2. The browser will display the JSON data, as shown below.
-
+
## Connecting the Pivot Table to a MySQL Database Using the Web API Service
@@ -190,7 +190,7 @@ export class AppComponent implements OnInit {
2. The pivot table will display the data fetched from the MySQL database via the Web API, structured according to the defined report.
3. The resulting pivot table will look like this:
-
+
### Additional Resources
Explore a complete example of the Angular Pivot Table integrated with an ASP.NET Core Web Application to fetch data from a MySQL database in this [GitHub](https://github.com/SyncfusionExamples/how-to-bind-MySQL-database-to-pivot-table) repository.
\ No newline at end of file
diff --git a/ej2-angular/pivotview/connecting-to-data-source/oracle.md b/ej2-angular/pivotview/connecting-to-data-source/oracle.md
index 773f01d226e..bb70ead7e59 100644
--- a/ej2-angular/pivotview/connecting-to-data-source/oracle.md
+++ b/ej2-angular/pivotview/connecting-to-data-source/oracle.md
@@ -20,14 +20,14 @@ Follow these steps to create a Web API service that retrieves data from an Oracl
1. Open Visual Studio and create a new **ASP.NET Core Web App** project named **MyWebService**.
2. Follow the official [Microsoft documentation](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022) for detailed instructions on creating an ASP.NET Core Web application.
-
+
### Step 2: Install the Oracle NuGet Package
To enable Oracle database connectivity:
1. Open the **NuGet Package Manager** in your project solution and search for [Oracle.ManagedDataAccess.Core](https://www.nuget.org/packages/Oracle.ManagedDataAccess.Core/).
2. Install the [Oracle.ManagedDataAccess.Core](https://www.nuget.org/packages/Oracle.ManagedDataAccess.Core/) package to add Oracle support.
-
+
### Step 3: Create a Web API Controller
1. Under the **Controllers** folder, create a new Web API controller named **PivotController.cs**.
@@ -117,7 +117,7 @@ namespace MyWebService.Controllers
1. Access the Web API endpoint at `https://localhost:44346/Pivot` to view the JSON data retrieved from the Oracle database.
2. The browser will display the JSON data, as shown below.
-
+
## Connecting the Pivot Table to an Oracle Database Using the Web API Service
@@ -204,7 +204,7 @@ export class AppComponent implements OnInit {
2. The Pivot Table will display the data fetched from the Oracle database via the Web API, structured according to the defined report.
3. The resulting Pivot Table will look like this:
-
+
### Additional Resources
Explore a complete example of the Angular Pivot Table integrated with an ASP.NET Core Web Application to fetch data from an Oracle database in this [GitHub](https://github.com/SyncfusionExamples/how-to-bind-Oracle-database-to-pivot-table) repository.
\ No newline at end of file
diff --git a/ej2-angular/pivotview/connecting-to-data-source/postgresql.md b/ej2-angular/pivotview/connecting-to-data-source/postgresql.md
index 446370b3f17..f62d03255ab 100644
--- a/ej2-angular/pivotview/connecting-to-data-source/postgresql.md
+++ b/ej2-angular/pivotview/connecting-to-data-source/postgresql.md
@@ -17,14 +17,14 @@ Follow these steps to create a Web API service that retrieves data from a Postgr
1. Open Visual Studio and create a new **ASP.NET Core Web App** project named **MyWebService**.
2. Follow the official [Microsoft documentation](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022) for detailed instructions on creating an ASP.NET Core Web application.
-
+
### Step 2: Install the Npgsql NuGet Package
To enable PostgreSQL database connectivity:
1. Open the **NuGet Package Manager** in your project solution and search for **Npgsql.EntityFrameworkCore.PostgreSQL**.
2. Install the **Npgsql.EntityFrameworkCore.PostgreSQL** package to add PostgreSQL support.
-
+
### Step 3: Create a Web API Controller
1. Under the **Controllers** folder, create a new Web API controller named **PivotController.cs**.
@@ -112,7 +112,7 @@ In the **PivotController.cs** file, define a **Get** method that calls **GetPost
1. Access the Web API endpoint at `https://localhost:44378/Pivot` to view the JSON data retrieved from the PostgreSQL database.
2. The browser will display the JSON data, as shown below.
-
+
## Connecting the Pivot Table to a PostgreSQL Database Using the Web API Service
@@ -188,7 +188,7 @@ export class AppComponent implements OnInit {
2. The Pivot Table will display the data fetched from the PostgreSQL database via the Web API, structured according to the defined report.
3. The resulting Pivot Table will look like this:
-
+
### Additional Resources
Explore a complete example of the Angular Pivot Table integrated with an ASP.NET Core Web Application to fetch data from a PostgreSQL database in this [GitHub](https://github.com/SyncfusionExamples/how-to-bind-PostgreSQL-database-to-pivot-table) repository.
\ No newline at end of file
diff --git a/ej2-angular/pivotview/connecting-to-data-source/snowflake.md b/ej2-angular/pivotview/connecting-to-data-source/snowflake.md
index b7db0e787ac..020fb5009df 100644
--- a/ej2-angular/pivotview/connecting-to-data-source/snowflake.md
+++ b/ej2-angular/pivotview/connecting-to-data-source/snowflake.md
@@ -18,14 +18,14 @@ Follow these steps to create a Web API service that retrieves data from a Snowfl
1. Open Visual Studio and create a new **ASP.NET Core Web App** project named **MyWebService**.
2. Follow the official [Microsoft documentation](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022) for detailed instructions on creating an ASP.NET Core Web application.
-
+
### Step 2: Install the Snowflake NuGet Package
To enable Snowflake database connectivity:
1. Open the **NuGet Package Manager** in your project solution and search for [Snowflake.Data](https://www.nuget.org/packages/Snowflake.Data/).
2. Install the [Snowflake.Data](https://www.nuget.org/packages/Snowflake.Data/) package to add Snowflake support.
-
+
### Step 3: Create a Web API Controller
1. Under the **Controllers** folder, create a new Web API controller named **PivotController.cs**.
@@ -123,7 +123,7 @@ namespace MyWebService.Controllers
1. Access the Web API endpoint at `https://localhost:44378/Pivot` to view the JSON data retrieved from the Snowflake database.
2. The browser will display the JSON data, as shown below.
-
+
## Connecting the Pivot Table to a Snowflake Database Using the Web API Service
@@ -209,7 +209,7 @@ export class AppComponent implements OnInit {
2. The Pivot Table will display the data fetched from the Snowflake database via the Web API, structured according to the defined report.
3. The resulting Pivot Table will look like this:
-
+
### Additional Resources
Explore a complete example of the Angular Pivot Table integrated with an ASP.NET Core Web Application to fetch data from a Snowflake database in this [GitHub](https://github.com/SyncfusionExamples/how-to-bind-Snowflake-database-to-pivot-table) repository.
\ No newline at end of file
diff --git a/ej2-angular/pivotview/drill-down.md b/ej2-angular/pivotview/drill-down.md
index f09275cb21b..d306bb81287 100644
--- a/ej2-angular/pivotview/drill-down.md
+++ b/ej2-angular/pivotview/drill-down.md
@@ -14,7 +14,7 @@ domainurl: ##DomainURL##
The drill-down and drill-up features in the PivotTable component allow users to expand or collapse hierarchical data for detailed or summarized views. When a field member(s) contains child items, expand and collapse icons automatically appear in the corresponding row or column header. Clicking these icons expands the selected item to display its child members or collapses it to show a summarized view. If a field member(s) does not have any further levels to display, the icons will not appear.
-
+
## Drill position
@@ -22,7 +22,7 @@ The drill-down and drill-up features allow you to expand or collapse data for a
> This feature is built-in and works automatically every time you expand or collapse data, making the pivot table faster and more efficient
-
+
## Expand All
diff --git a/ej2-angular/pivotview/drill-through.md b/ej2-angular/pivotview/drill-through.md
index 36df34b03c7..365ac4e8f31 100644
--- a/ej2-angular/pivotview/drill-through.md
+++ b/ej2-angular/pivotview/drill-through.md
@@ -112,7 +112,7 @@ export class AppComponent {
}
```
-
+
## Events
diff --git a/ej2-angular/pivotview/field-list.md b/ej2-angular/pivotview/field-list.md
index 6bd02606a08..50efd874745 100644
--- a/ej2-angular/pivotview/field-list.md
+++ b/ej2-angular/pivotview/field-list.md
@@ -101,7 +101,7 @@ The field list provides a simple way to organize fields in different orders, mak
> By default, fields are displayed in the default order as they appear in the data source.
-
+
### Sort fields in a desired order
@@ -143,7 +143,7 @@ Organizing fields into custom folders in the Field List helps users manage and l
The Field List allows users to quickly modify their data analysis by selecting or unselecting fields as needed. Using the checkbox beside each field, users can easily add fields to include them in the report or remove fields to exclude them from the current analysis at runtime.
-
+
## Remove specific field(s) from displaying
@@ -165,56 +165,56 @@ When you connect a data source to the Pivot Table, all available fields from the
To rearrange fields, users can drag a field from the Field List and drop it into the desired axis (column, row, value, or filter) using the drag-and-drop holder. This allows users to modify the report dynamically during runtime, adjusting the layout to suit their needs.
-
+
## Filtering members
Users can filter members in the row, column, and filter axes by selecting the filter icon next to each field. This opens a dialog where users can choose to include or exclude specific members from the Pivot Table. To learn more about filtering members, [refer to the filtering documentation](./filtering).
-
+
-
+
-
+
## Sorting members
The Pivot Table allows users to sort members in the row and column axes using a sort icon next to each field. By clicking this icon, users can arrange members in either ascending or descending order at runtime. This option helps users organize data in a way that suits their needs. For more details on sorting members, [refer here](./sorting).
-
+
-
+
## Calculated fields
The calculated field option allows users to create a new field based on existing fields from the data source using basic arithmetic operations, such as addition, subtraction, multiplication, and division. To use this option in the Field List UI, set the [`allowCalculatedField`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#allowcalculatedfield) property in the Pivot Table to **true**. When enabled, a button appears in the Field List UI. Clicking this button opens the calculated field dialog, where users can define a new calculated field. For more details on calculated fields, refer to [this section](./calculated-field).
-
+
-
+
-
+
## Changing aggregation type of value fields at runtime
Users can perform calculations on a group of values by selecting an aggregation type. Each value field in the Field List appears with a dropdown icon. Clicking this icon allows users to choose an aggregation type, such as sum, average, or count, at runtime. Once selected, the Pivot Table updates automatically to reflect the chosen aggregation type for the values. For more details on aggregation, refer to [aggregation](./aggregation).
-
+
-
+
-
+
## Defer layout update
The defer layout update option allows users to update the Pivot Table only when needed, instead of after every change in the Field List. To enable this option, set the [`allowDeferLayoutUpdate`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#allowdeferlayoutupdate) property to **true** in the Pivot Table. When enabled, a checkbox appears in the Field List, checked by default. Users can uncheck this checkbox to make changes without updating the Pivot Table immediately, and then apply all changes at once. For more details on defer layout update, refer to [defer update](./defer-update).
-
+
## Show built-in Field List (Popup) over specific target
diff --git a/ej2-angular/pivotview/filtering.md b/ej2-angular/pivotview/filtering.md
index ab3e04f6359..37cc243b999 100644
--- a/ej2-angular/pivotview/filtering.md
+++ b/ej2-angular/pivotview/filtering.md
@@ -28,16 +28,16 @@ This filtering option displays the Pivot Table with selective records based on t
Users can apply member filters at runtime by clicking the filter icon next to any field in the row, column, and filter axes, available in both the field list and grouping bar interfaces.
-
+
-
+
-
+
-
+
You can also configure filtering programmatically using the [`filterSettings`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/filter) property during the initial rendering of the component. The essential settings required to add filter criteria are:
@@ -66,11 +66,11 @@ This option lets you quickly manage all members at once, saving time when workin
When you check the **All** option, it selects all members in the list. When you uncheck it, all members become deselected. If you manually select some members while others remain unselected, the **All** option displays an intermediate state (partially checked) to show that the list contains both selected and unselected members.
-
+
> **Note:** When all members are deselected, the **OK** button becomes disabled. You must select at least one member to apply the filter and display data in the Pivot Table.
-
+
### Provision to search specific member(s)
@@ -78,7 +78,7 @@ This option helps you quickly locate specific members without scrolling through
Simply enter the starting characters of the member name you want to find, and the list will automatically filter to show only matching members. This makes it easy to locate and select specific members, especially when dealing with large datasets.
-
+
### Option to sort members
@@ -86,7 +86,7 @@ This option allows you to organize members in a logical order for easier selecti
You can click the ascending sort icon to arrange members from A to Z (or lowest to highest for numerical values), or click the descending sort icon to arrange them from Z to A (or highest to lowest). When neither sorting option is selected, members appear in their original order as retrieved from the data source.
-
+
### Performance tips
@@ -133,7 +133,7 @@ This approach prevents performance issues when working with hierarchies that con
{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs94" %}
-
+
In the example above, the "Customer Geography" dimension loads with only the first level (Country) initially. Search operations will apply only to the "Country" level members. You can then load the next level members (State-Province) on-demand in two ways:
@@ -144,7 +144,7 @@ Once loaded, these members are stored internally and remain available until you
When the [`loadOnDemandInMemberEditor`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#loadondemandinmembereditor) property is set to **false**, all members from all levels are loaded during the initial setup. This approach executes a single query to retrieve all members at once. While this may cause slower performance when opening the member editor due to the large number of members being fetched, expand and search operations will be faster since all members are already available.
-
+
### Loading members based on level number
@@ -166,7 +166,7 @@ The [`levelCount`](https://ej2.syncfusion.com/angular/documentation/api/pivotvie
{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs95" %}
-
+
In the above example, the [`levelCount`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/filtermodel#levelcount) is set to **2** for the "Customer Geography" dimension in [`filterSettings`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/datasourcesettingsmodel#filtersettings). This loads both the "Country" and "State-Province" levels during the initial loading process. Any search or filter operations will be applied only to the members within these two levels. To access members from deeper levels like "City", you can either expand the respective "State-Province" node or select the "City" level from the dropdown list.
@@ -280,7 +280,7 @@ To apply date filtering, specify your filtering criteria using the [`value1`](ht
Users can clear the applied label filter by clicking the **Clear** option at the bottom of the filter dialog. This option is located under the **Label** tab for string and number type filtering, and under the **Date** tab for date type filtering.
-
+
## Value filtering
@@ -329,7 +329,7 @@ The following table shows the available operators for value filtering:
You can clear the applied value filter by clicking the "Clear" option at the bottom of the filter dialog under the "Value" tab.
-
+
## Event
diff --git a/ej2-angular/pivotview/getting-started.md b/ej2-angular/pivotview/getting-started.md
index 35c873164bf..e23ec332f48 100644
--- a/ej2-angular/pivotview/getting-started.md
+++ b/ej2-angular/pivotview/getting-started.md
@@ -64,11 +64,11 @@ ng new my-app --style=scss
* During project setup, when prompted for the Server-side rendering (SSR) option, choose the appropriate configuration.
-
+
* Select the required AI tool or 'none' if you do not need any AI tool.
-
+
Once the project is created, navigate to the project folder to begin working with your new Angular application:
diff --git a/ej2-angular/pivotview/grouping.md b/ej2-angular/pivotview/grouping.md
index 901f05be964..694b26bc2dc 100644
--- a/ej2-angular/pivotview/grouping.md
+++ b/ej2-angular/pivotview/grouping.md
@@ -54,23 +54,23 @@ Number grouping allows users to organize numerical data into different ranges, s
{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs148" %}
-
+
### Range selection
The "**Starting at**" and "**Ending at**" options are used to set the number range depending on which the headers will be grouped. For example, if the "Product_ID" field holds the number from "1001" to "1010" and the user chooses to group the number range by setting "**1004**" to "**Starting at**" and "**1008**" to "**Ending at**" options on their own. Then the specified number range will be used for number grouping and the rest will be grouped as "**Out of Range**".
-
+
### Range interval
The "**Interval by**" option is used to separate the selected number data type field into range-wise such as 1-5, 6-10, etc.
For example, if the user wants to display the "Product_ID" data field with a group interval of "**2**" by setting the "**Interval by**" option on their own. The "Product_ID" field will then be grouped by the specified range of intervals, such as "**1004-1005**", "**1006-1007**", etc.
-
+
-
+
### Configuring Number Grouping Programmatically
@@ -96,13 +96,13 @@ You can configure number grouping through code-behind using the [`groupSettings`
{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs149" %}
-
+
### Ungrouping the existing number groups
To remove an applied number grouping, simply right-click on the grouped header in the pivot table and select **Ungroup** option from the context menu. This action will break apart the grouped ranges and display the original, ungrouped values in the table.
-
+
## Date Grouping
@@ -120,13 +120,13 @@ Date grouping organizes date and time data into hierarchical segments, such as y
{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs150" %}
-
+
### Range Selection
The **Starting at** and **Ending at** options allow users to define the date range for grouping headers. For example, if the "Date" field contains data from "01/01/2015" to "02/12/2018" and the user sets **Starting at** to "**01/07/2015**" and **Ending at** to "**31/07/2017**", only records within this range will be grouped according to the selected settings. Dates outside this range are labeled as **Out of Range**.
-
+
### Group Interval
@@ -134,13 +134,13 @@ The **Interval by** option allows users to split date fields into years, quarter
> If no options are selected in the **Interval by** section, the **OK** button in the dialog remains disabled. At least one interval must be chosen to enable date grouping.
-
+
-
+
-
+
### Configuring Date Grouping Programmatically
@@ -168,13 +168,13 @@ You can configure date grouping programmatically using the [`groupSettings`](htt
Furthermore, in the field list UI, these date group fields **Years (Date)**, **Quarters (Date)**, **Months (Date)**, etc... will be automatically grouped and displayed under the **Date** folder name.
-
+
### Ungrouping the existing date groups
To remove a previously applied date grouping, simply right-click the relevant date-based header within the pivot table and select the **Ungroup** option from the context menu. This action will revert the grouped dates back to their original, ungrouped state, allowing you to view and analyze the raw date values in the PivotView component.
-
+
## Custom Grouping
@@ -196,7 +196,7 @@ Custom grouping is an option that enables users to group data types (date, time,
To create a custom group in the pivot table, select at least two headers from the same field. Hold the **CTRL** key to select multiple headers individually or the **SHIFT** key to select a range of headers. Then, right-click and choose **Group** from the context menu.
-
+
In the dialog box:
- **Field Caption**: Set an alias name for the new custom field, which will appear in the pivot table.
@@ -204,25 +204,25 @@ In the dialog box:
For example, to group the headers "Gloves," "Jerseys," and "Shorts" in the "Products" field under a single group, set the **Group Name** to "Clothings." The selected headers will then appear under "Clothings" in the pivot table.
-
+
-
+
-
+
### Nested Custom Grouping
User can also apply new custom grouping options to an existing custom field by right-clicking on the custom group header in the pivot table. For example, if the user wants to create a new custom group for the current custom group headers such as "**Bottles and Cages**", "**Cleaners**" and "**Fenders**" by setting the top level name as "**Accessories**" to "**Group Name**" on their own. The selected headers will then be grouped in the pivot table under the name "**Accessories**" with a new custom field called "**Product category 1**".
-
+
-
+
-
+
### Configuring Custom Grouping Programmatically
@@ -254,7 +254,7 @@ Here’s an example of configuring custom grouping programmatically:
{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs153" %}
-
+
### Ungrouping Existing Custom Groups
@@ -262,4 +262,4 @@ To remove a custom group in the pivot table, simply right-click on the grouped h
> After ungrouping, if you remove the related field from the report, any custom group fields associated with it will also be removed from the pivot table.
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/ej2-angular/pivotview/images/Ai.webp b/ej2-angular/pivotview/images/Ai.webp
deleted file mode 100644
index f86ee89bccc..00000000000
Binary files a/ej2-angular/pivotview/images/Ai.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/AttributeHierarchy.webp b/ej2-angular/pivotview/images/AttributeHierarchy.webp
deleted file mode 100644
index 3d358d9e5f0..00000000000
Binary files a/ej2-angular/pivotview/images/AttributeHierarchy.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/Dimension.webp b/ej2-angular/pivotview/images/Dimension.webp
deleted file mode 100644
index d182c4eb0b3..00000000000
Binary files a/ej2-angular/pivotview/images/Dimension.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/FirstLevel.webp b/ej2-angular/pivotview/images/FirstLevel.webp
deleted file mode 100644
index cab92126966..00000000000
Binary files a/ej2-angular/pivotview/images/FirstLevel.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/Folder.webp b/ej2-angular/pivotview/images/Folder.webp
deleted file mode 100644
index 8c91f63f0a5..00000000000
Binary files a/ej2-angular/pivotview/images/Folder.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/Initial-setup.webp b/ej2-angular/pivotview/images/Initial-setup.webp
deleted file mode 100644
index 64a5e514798..00000000000
Binary files a/ej2-angular/pivotview/images/Initial-setup.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/Measure.webp b/ej2-angular/pivotview/images/Measure.webp
deleted file mode 100644
index 98c60dea061..00000000000
Binary files a/ej2-angular/pivotview/images/Measure.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/NamedSet.webp b/ej2-angular/pivotview/images/NamedSet.webp
deleted file mode 100644
index e0180bb3dde..00000000000
Binary files a/ej2-angular/pivotview/images/NamedSet.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/SSR.webp b/ej2-angular/pivotview/images/SSR.webp
deleted file mode 100644
index da97581dac5..00000000000
Binary files a/ej2-angular/pivotview/images/SSR.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/SecondLevel.webp b/ej2-angular/pivotview/images/SecondLevel.webp
deleted file mode 100644
index 05a4ef6029c..00000000000
Binary files a/ej2-angular/pivotview/images/SecondLevel.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/ThirdLevel.webp b/ej2-angular/pivotview/images/ThirdLevel.webp
deleted file mode 100644
index ce9fcc49bb5..00000000000
Binary files a/ej2-angular/pivotview/images/ThirdLevel.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/UserDefinedHierarchy.webp b/ej2-angular/pivotview/images/UserDefinedHierarchy.webp
deleted file mode 100644
index 5e5e0eeb10a..00000000000
Binary files a/ej2-angular/pivotview/images/UserDefinedHierarchy.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/add-header-and-footer-while-exporting.webp b/ej2-angular/pivotview/images/add-header-and-footer-while-exporting.webp
deleted file mode 100644
index 408a1823c14..00000000000
Binary files a/ej2-angular/pivotview/images/add-header-and-footer-while-exporting.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/after-change-olap.webp b/ej2-angular/pivotview/images/after-change-olap.webp
deleted file mode 100644
index 4f58b1bdcc6..00000000000
Binary files a/ej2-angular/pivotview/images/after-change-olap.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/after-drag-olap.webp b/ej2-angular/pivotview/images/after-drag-olap.webp
deleted file mode 100644
index 4ef4bb77633..00000000000
Binary files a/ej2-angular/pivotview/images/after-drag-olap.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/after-edit-olap.webp b/ej2-angular/pivotview/images/after-edit-olap.webp
deleted file mode 100644
index 515087c4e92..00000000000
Binary files a/ej2-angular/pivotview/images/after-edit-olap.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/after-modify-olap.webp b/ej2-angular/pivotview/images/after-modify-olap.webp
deleted file mode 100644
index da0825b5ea7..00000000000
Binary files a/ej2-angular/pivotview/images/after-modify-olap.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/aggregation_fl_icon.webp b/ej2-angular/pivotview/images/aggregation_fl_icon.webp
deleted file mode 100644
index f8ab3f97318..00000000000
Binary files a/ej2-angular/pivotview/images/aggregation_fl_icon.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/aggregation_fl_menu.webp b/ej2-angular/pivotview/images/aggregation_fl_menu.webp
deleted file mode 100644
index 861ca4759d5..00000000000
Binary files a/ej2-angular/pivotview/images/aggregation_fl_menu.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/aggregation_gb_menu.webp b/ej2-angular/pivotview/images/aggregation_gb_menu.webp
deleted file mode 100644
index d1713406c70..00000000000
Binary files a/ej2-angular/pivotview/images/aggregation_gb_menu.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/azure-asp-core-web-service-create.webp b/ej2-angular/pivotview/images/azure-asp-core-web-service-create.webp
deleted file mode 100644
index e437dac10a7..00000000000
Binary files a/ej2-angular/pivotview/images/azure-asp-core-web-service-create.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/before-edit-olap.webp b/ej2-angular/pivotview/images/before-edit-olap.webp
deleted file mode 100644
index 2ae853f94b7..00000000000
Binary files a/ej2-angular/pivotview/images/before-edit-olap.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatdfield-applyFormate.webp b/ej2-angular/pivotview/images/calculatdfield-applyFormate.webp
deleted file mode 100644
index bef855814e5..00000000000
Binary files a/ej2-angular/pivotview/images/calculatdfield-applyFormate.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatdfield-field-edit1.webp b/ej2-angular/pivotview/images/calculatdfield-field-edit1.webp
deleted file mode 100644
index d2296042cd9..00000000000
Binary files a/ej2-angular/pivotview/images/calculatdfield-field-edit1.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatdfield-field-edit2.webp b/ej2-angular/pivotview/images/calculatdfield-field-edit2.webp
deleted file mode 100644
index bffe98f8f55..00000000000
Binary files a/ej2-angular/pivotview/images/calculatdfield-field-edit2.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatdfield-formatstring.webp b/ej2-angular/pivotview/images/calculatdfield-formatstring.webp
deleted file mode 100644
index 13bc0695363..00000000000
Binary files a/ej2-angular/pivotview/images/calculatdfield-formatstring.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatdfield-grouping-edit1.webp b/ej2-angular/pivotview/images/calculatdfield-grouping-edit1.webp
deleted file mode 100644
index 509150a32c4..00000000000
Binary files a/ej2-angular/pivotview/images/calculatdfield-grouping-edit1.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatdfield-grouping-edit2.webp b/ej2-angular/pivotview/images/calculatdfield-grouping-edit2.webp
deleted file mode 100644
index de59d7c00e0..00000000000
Binary files a/ej2-angular/pivotview/images/calculatdfield-grouping-edit2.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatdfield-renaming1.webp b/ej2-angular/pivotview/images/calculatdfield-renaming1.webp
deleted file mode 100644
index e2f450c96cf..00000000000
Binary files a/ej2-angular/pivotview/images/calculatdfield-renaming1.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatdfield-renaming2.webp b/ej2-angular/pivotview/images/calculatdfield-renaming2.webp
deleted file mode 100644
index aa9c67330bc..00000000000
Binary files a/ej2-angular/pivotview/images/calculatdfield-renaming2.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatdfield-reusing1.webp b/ej2-angular/pivotview/images/calculatdfield-reusing1.webp
deleted file mode 100644
index 326066f6cd5..00000000000
Binary files a/ej2-angular/pivotview/images/calculatdfield-reusing1.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatdfield-reusing2.webp b/ej2-angular/pivotview/images/calculatdfield-reusing2.webp
deleted file mode 100644
index 4adc5bd71ae..00000000000
Binary files a/ej2-angular/pivotview/images/calculatdfield-reusing2.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatdfield-reusing3.webp b/ej2-angular/pivotview/images/calculatdfield-reusing3.webp
deleted file mode 100644
index fb34b027d3d..00000000000
Binary files a/ej2-angular/pivotview/images/calculatdfield-reusing3.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatedfield-drag.webp b/ej2-angular/pivotview/images/calculatedfield-drag.webp
deleted file mode 100644
index b53c46025ef..00000000000
Binary files a/ej2-angular/pivotview/images/calculatedfield-drag.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatedfield-fomat.webp b/ej2-angular/pivotview/images/calculatedfield-fomat.webp
deleted file mode 100644
index 5c0c3bf11bf..00000000000
Binary files a/ej2-angular/pivotview/images/calculatedfield-fomat.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatedfield-format-string.webp b/ej2-angular/pivotview/images/calculatedfield-format-string.webp
deleted file mode 100644
index b75fcea1c71..00000000000
Binary files a/ej2-angular/pivotview/images/calculatedfield-format-string.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatedfield-hierarchy.webp b/ej2-angular/pivotview/images/calculatedfield-hierarchy.webp
deleted file mode 100644
index 741b988be1f..00000000000
Binary files a/ej2-angular/pivotview/images/calculatedfield-hierarchy.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatedfield-name.webp b/ej2-angular/pivotview/images/calculatedfield-name.webp
deleted file mode 100644
index 5122d0bba28..00000000000
Binary files a/ej2-angular/pivotview/images/calculatedfield-name.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/calculatedfield-type.webp b/ej2-angular/pivotview/images/calculatedfield-type.webp
deleted file mode 100644
index 9162564b32a..00000000000
Binary files a/ej2-angular/pivotview/images/calculatedfield-type.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/cformatting_remove.webp b/ej2-angular/pivotview/images/cformatting_remove.webp
deleted file mode 100644
index a5009aeb50f..00000000000
Binary files a/ej2-angular/pivotview/images/cformatting_remove.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/chart-legend.webp b/ej2-angular/pivotview/images/chart-legend.webp
deleted file mode 100644
index 7366bd05617..00000000000
Binary files a/ej2-angular/pivotview/images/chart-legend.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/chart-option.webp b/ej2-angular/pivotview/images/chart-option.webp
deleted file mode 100644
index d37109c6c72..00000000000
Binary files a/ej2-angular/pivotview/images/chart-option.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/clear-edit-olap.webp b/ej2-angular/pivotview/images/clear-edit-olap.webp
deleted file mode 100644
index e1745b17f1f..00000000000
Binary files a/ej2-angular/pivotview/images/clear-edit-olap.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/clearfilter.webp b/ej2-angular/pivotview/images/clearfilter.webp
deleted file mode 100644
index 5635b18841b..00000000000
Binary files a/ej2-angular/pivotview/images/clearfilter.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/clearvaluefilter.webp b/ej2-angular/pivotview/images/clearvaluefilter.webp
deleted file mode 100644
index 5f6b4517d1d..00000000000
Binary files a/ej2-angular/pivotview/images/clearvaluefilter.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/code-web-app.webp b/ej2-angular/pivotview/images/code-web-app.webp
deleted file mode 100644
index ae439caf4cd..00000000000
Binary files a/ej2-angular/pivotview/images/code-web-app.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/csv-export-with-server-side-pivot-engine.webp b/ej2-angular/pivotview/images/csv-export-with-server-side-pivot-engine.webp
deleted file mode 100644
index 193ec964a3d..00000000000
Binary files a/ej2-angular/pivotview/images/csv-export-with-server-side-pivot-engine.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/custom-group-option.webp b/ej2-angular/pivotview/images/custom-group-option.webp
deleted file mode 100644
index c123f2a547e..00000000000
Binary files a/ej2-angular/pivotview/images/custom-group-option.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/custom-group-settings-applied.webp b/ej2-angular/pivotview/images/custom-group-settings-applied.webp
deleted file mode 100644
index 15346acfba6..00000000000
Binary files a/ej2-angular/pivotview/images/custom-group-settings-applied.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/custom-group-settings-caption-applied.webp b/ej2-angular/pivotview/images/custom-group-settings-caption-applied.webp
deleted file mode 100644
index e536e3ad384..00000000000
Binary files a/ej2-angular/pivotview/images/custom-group-settings-caption-applied.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/custom-group-updated.webp b/ej2-angular/pivotview/images/custom-group-updated.webp
deleted file mode 100644
index 10910e033a9..00000000000
Binary files a/ej2-angular/pivotview/images/custom-group-updated.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/custom-ungroup.webp b/ej2-angular/pivotview/images/custom-ungroup.webp
deleted file mode 100644
index cf8729e1745..00000000000
Binary files a/ej2-angular/pivotview/images/custom-ungroup.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/date-group-option.webp b/ej2-angular/pivotview/images/date-group-option.webp
deleted file mode 100644
index f5d92c797e7..00000000000
Binary files a/ej2-angular/pivotview/images/date-group-option.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/date-group-settings-applied.webp b/ej2-angular/pivotview/images/date-group-settings-applied.webp
deleted file mode 100644
index 51cd35fc1c8..00000000000
Binary files a/ej2-angular/pivotview/images/date-group-settings-applied.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/date-group-settings-interval-applied.webp b/ej2-angular/pivotview/images/date-group-settings-interval-applied.webp
deleted file mode 100644
index 33526c5aa45..00000000000
Binary files a/ej2-angular/pivotview/images/date-group-settings-interval-applied.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/date-group-settings-range-applied.webp b/ej2-angular/pivotview/images/date-group-settings-range-applied.webp
deleted file mode 100644
index cc18c6dadd4..00000000000
Binary files a/ej2-angular/pivotview/images/date-group-settings-range-applied.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/date-group-updated.webp b/ej2-angular/pivotview/images/date-group-updated.webp
deleted file mode 100644
index 0e00b0be8f8..00000000000
Binary files a/ej2-angular/pivotview/images/date-group-updated.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/date-ungroup.webp b/ej2-angular/pivotview/images/date-ungroup.webp
deleted file mode 100644
index edc1537da7f..00000000000
Binary files a/ej2-angular/pivotview/images/date-ungroup.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/drill.webp b/ej2-angular/pivotview/images/drill.webp
deleted file mode 100644
index 41c521b8cf2..00000000000
Binary files a/ej2-angular/pivotview/images/drill.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/drill_position.webp b/ej2-angular/pivotview/images/drill_position.webp
deleted file mode 100644
index 757527aba6d..00000000000
Binary files a/ej2-angular/pivotview/images/drill_position.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/editor_alluncheck.webp b/ej2-angular/pivotview/images/editor_alluncheck.webp
deleted file mode 100644
index ceac43fc914..00000000000
Binary files a/ej2-angular/pivotview/images/editor_alluncheck.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/editor_inter.webp b/ej2-angular/pivotview/images/editor_inter.webp
deleted file mode 100644
index bdc40348f7e..00000000000
Binary files a/ej2-angular/pivotview/images/editor_inter.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/elasticsearch-data-binding.webp b/ej2-angular/pivotview/images/elasticsearch-data-binding.webp
deleted file mode 100644
index 0f2699ed8c8..00000000000
Binary files a/ej2-angular/pivotview/images/elasticsearch-data-binding.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/elasticsearch-data.webp b/ej2-angular/pivotview/images/elasticsearch-data.webp
deleted file mode 100644
index a123ed3fa72..00000000000
Binary files a/ej2-angular/pivotview/images/elasticsearch-data.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/excel-export-with-server-side-pivot-engine.webp b/ej2-angular/pivotview/images/excel-export-with-server-side-pivot-engine.webp
deleted file mode 100644
index 98d99d1f766..00000000000
Binary files a/ej2-angular/pivotview/images/excel-export-with-server-side-pivot-engine.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/expand_collapse.webp b/ej2-angular/pivotview/images/expand_collapse.webp
deleted file mode 100644
index 06825f26a76..00000000000
Binary files a/ej2-angular/pivotview/images/expand_collapse.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/export-as-pivot.webp b/ej2-angular/pivotview/images/export-as-pivot.webp
deleted file mode 100644
index 78a168da690..00000000000
Binary files a/ej2-angular/pivotview/images/export-as-pivot.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/fieldlist-default-sort.webp b/ej2-angular/pivotview/images/fieldlist-default-sort.webp
deleted file mode 100644
index 46999a0f866..00000000000
Binary files a/ej2-angular/pivotview/images/fieldlist-default-sort.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/fieldlist_aggregation_avg.webp b/ej2-angular/pivotview/images/fieldlist_aggregation_avg.webp
deleted file mode 100644
index cf687e5dc4d..00000000000
Binary files a/ej2-angular/pivotview/images/fieldlist_aggregation_avg.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/fieldlist_aggregation_grid.webp b/ej2-angular/pivotview/images/fieldlist_aggregation_grid.webp
deleted file mode 100644
index 385d45fc468..00000000000
Binary files a/ej2-angular/pivotview/images/fieldlist_aggregation_grid.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/fieldlist_axes.webp b/ej2-angular/pivotview/images/fieldlist_axes.webp
deleted file mode 100644
index 350a8157635..00000000000
Binary files a/ej2-angular/pivotview/images/fieldlist_axes.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/fieldlist_deferupdate.webp b/ej2-angular/pivotview/images/fieldlist_deferupdate.webp
deleted file mode 100644
index 4d0ececb9a3..00000000000
Binary files a/ej2-angular/pivotview/images/fieldlist_deferupdate.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/fieldlist_editor.webp b/ej2-angular/pivotview/images/fieldlist_editor.webp
deleted file mode 100644
index fdab1c49d21..00000000000
Binary files a/ej2-angular/pivotview/images/fieldlist_editor.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/fieldlist_filtericon.webp b/ej2-angular/pivotview/images/fieldlist_filtericon.webp
deleted file mode 100644
index b3974e4bfcf..00000000000
Binary files a/ej2-angular/pivotview/images/fieldlist_filtericon.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/fieldlist_filteringgrid.webp b/ej2-angular/pivotview/images/fieldlist_filteringgrid.webp
deleted file mode 100644
index dac70d95191..00000000000
Binary files a/ej2-angular/pivotview/images/fieldlist_filteringgrid.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/fieldlist_sortgrid.webp b/ej2-angular/pivotview/images/fieldlist_sortgrid.webp
deleted file mode 100644
index 144d53d0b61..00000000000
Binary files a/ej2-angular/pivotview/images/fieldlist_sortgrid.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/fieldlist_sorticon.webp b/ej2-angular/pivotview/images/fieldlist_sorticon.webp
deleted file mode 100644
index f502f297462..00000000000
Binary files a/ej2-angular/pivotview/images/fieldlist_sorticon.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/fieldlist_treeview.webp b/ej2-angular/pivotview/images/fieldlist_treeview.webp
deleted file mode 100644
index 0c8523aad90..00000000000
Binary files a/ej2-angular/pivotview/images/fieldlist_treeview.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/filter_dialog_gb.webp b/ej2-angular/pivotview/images/filter_dialog_gb.webp
deleted file mode 100644
index 0a98fa47ded..00000000000
Binary files a/ej2-angular/pivotview/images/filter_dialog_gb.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/filter_grid_gb.webp b/ej2-angular/pivotview/images/filter_grid_gb.webp
deleted file mode 100644
index 689325b1e93..00000000000
Binary files a/ej2-angular/pivotview/images/filter_grid_gb.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/filter_icon_gb.webp b/ej2-angular/pivotview/images/filter_icon_gb.webp
deleted file mode 100644
index c05040aaa67..00000000000
Binary files a/ej2-angular/pivotview/images/filter_icon_gb.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/gs_calc_button.webp b/ej2-angular/pivotview/images/gs_calc_button.webp
deleted file mode 100644
index ad3a8a0c334..00000000000
Binary files a/ej2-angular/pivotview/images/gs_calc_button.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/gs_calc_dialog.webp b/ej2-angular/pivotview/images/gs_calc_dialog.webp
deleted file mode 100644
index 14f1d2695ca..00000000000
Binary files a/ej2-angular/pivotview/images/gs_calc_dialog.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/gs_calc_grid.webp b/ej2-angular/pivotview/images/gs_calc_grid.webp
deleted file mode 100644
index aabea54af9b..00000000000
Binary files a/ej2-angular/pivotview/images/gs_calc_grid.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/initial_member.webp b/ej2-angular/pivotview/images/initial_member.webp
deleted file mode 100644
index 1263da420b0..00000000000
Binary files a/ej2-angular/pivotview/images/initial_member.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/labelfiltering_dialog.webp b/ej2-angular/pivotview/images/labelfiltering_dialog.webp
deleted file mode 100644
index 376b3a7225b..00000000000
Binary files a/ej2-angular/pivotview/images/labelfiltering_dialog.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/labelfiltering_fl_icon.webp b/ej2-angular/pivotview/images/labelfiltering_fl_icon.webp
deleted file mode 100644
index 1131d3ff808..00000000000
Binary files a/ej2-angular/pivotview/images/labelfiltering_fl_icon.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/labelfiltering_gb_icon.webp b/ej2-angular/pivotview/images/labelfiltering_gb_icon.webp
deleted file mode 100644
index 8d369fafd58..00000000000
Binary files a/ej2-angular/pivotview/images/labelfiltering_gb_icon.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/labelfiltering_grid.webp b/ej2-angular/pivotview/images/labelfiltering_grid.webp
deleted file mode 100644
index 7946cd4f495..00000000000
Binary files a/ej2-angular/pivotview/images/labelfiltering_grid.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/level-count.webp b/ej2-angular/pivotview/images/level-count.webp
deleted file mode 100644
index 4474d3f05d1..00000000000
Binary files a/ej2-angular/pivotview/images/level-count.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/locale.webp b/ej2-angular/pivotview/images/locale.webp
deleted file mode 100644
index 6c889ad03ea..00000000000
Binary files a/ej2-angular/pivotview/images/locale.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/maxrows.webp b/ej2-angular/pivotview/images/maxrows.webp
deleted file mode 100644
index cde0f4ccba5..00000000000
Binary files a/ej2-angular/pivotview/images/maxrows.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/member-sort.webp b/ej2-angular/pivotview/images/member-sort.webp
deleted file mode 100644
index 7c58e20442e..00000000000
Binary files a/ej2-angular/pivotview/images/member-sort.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/mongodb-data-binding.webp b/ej2-angular/pivotview/images/mongodb-data-binding.webp
deleted file mode 100644
index 3e77289f962..00000000000
Binary files a/ej2-angular/pivotview/images/mongodb-data-binding.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/mongodb-data-nuget-package-install.webp b/ej2-angular/pivotview/images/mongodb-data-nuget-package-install.webp
deleted file mode 100644
index 84149765b61..00000000000
Binary files a/ej2-angular/pivotview/images/mongodb-data-nuget-package-install.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/mongodb-data.webp b/ej2-angular/pivotview/images/mongodb-data.webp
deleted file mode 100644
index e81570f4233..00000000000
Binary files a/ej2-angular/pivotview/images/mongodb-data.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/ms-data-sqlclient-nuget-package-install.webp b/ej2-angular/pivotview/images/ms-data-sqlclient-nuget-package-install.webp
deleted file mode 100644
index 2b1120d54cb..00000000000
Binary files a/ej2-angular/pivotview/images/ms-data-sqlclient-nuget-package-install.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/multiple-axis-mode.webp b/ej2-angular/pivotview/images/multiple-axis-mode.webp
deleted file mode 100644
index a170856c672..00000000000
Binary files a/ej2-angular/pivotview/images/multiple-axis-mode.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/mysql-data-nuget-package-install.webp b/ej2-angular/pivotview/images/mysql-data-nuget-package-install.webp
deleted file mode 100644
index 305f510527e..00000000000
Binary files a/ej2-angular/pivotview/images/mysql-data-nuget-package-install.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/mysql-data.webp b/ej2-angular/pivotview/images/mysql-data.webp
deleted file mode 100644
index 325e8c51535..00000000000
Binary files a/ej2-angular/pivotview/images/mysql-data.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/nested-custom-group-option.webp b/ej2-angular/pivotview/images/nested-custom-group-option.webp
deleted file mode 100644
index cf686fc040a..00000000000
Binary files a/ej2-angular/pivotview/images/nested-custom-group-option.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/nested-custom-group-settings-applied.webp b/ej2-angular/pivotview/images/nested-custom-group-settings-applied.webp
deleted file mode 100644
index 5ba226386f0..00000000000
Binary files a/ej2-angular/pivotview/images/nested-custom-group-settings-applied.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/nested-custom-group-updated.webp b/ej2-angular/pivotview/images/nested-custom-group-updated.webp
deleted file mode 100644
index 2737aa876b4..00000000000
Binary files a/ej2-angular/pivotview/images/nested-custom-group-updated.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/next-nuget-package-install.webp b/ej2-angular/pivotview/images/next-nuget-package-install.webp
deleted file mode 100644
index f1d37afe1ea..00000000000
Binary files a/ej2-angular/pivotview/images/next-nuget-package-install.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/number-group-option.webp b/ej2-angular/pivotview/images/number-group-option.webp
deleted file mode 100644
index a2acebd43a0..00000000000
Binary files a/ej2-angular/pivotview/images/number-group-option.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/number-group-settings-applied.webp b/ej2-angular/pivotview/images/number-group-settings-applied.webp
deleted file mode 100644
index 3b6879d2929..00000000000
Binary files a/ej2-angular/pivotview/images/number-group-settings-applied.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/number-group-settings-range-applied.webp b/ej2-angular/pivotview/images/number-group-settings-range-applied.webp
deleted file mode 100644
index fc80a8ab4c1..00000000000
Binary files a/ej2-angular/pivotview/images/number-group-settings-range-applied.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/number-group-updated.webp b/ej2-angular/pivotview/images/number-group-updated.webp
deleted file mode 100644
index 1e1cae8601f..00000000000
Binary files a/ej2-angular/pivotview/images/number-group-updated.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/number-ungroup.webp b/ej2-angular/pivotview/images/number-ungroup.webp
deleted file mode 100644
index b92fe1517e7..00000000000
Binary files a/ej2-angular/pivotview/images/number-ungroup.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/olap_calc_button.webp b/ej2-angular/pivotview/images/olap_calc_button.webp
deleted file mode 100644
index d34f621ea8f..00000000000
Binary files a/ej2-angular/pivotview/images/olap_calc_button.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/olap_calc_grid.webp b/ej2-angular/pivotview/images/olap_calc_grid.webp
deleted file mode 100644
index fcbb5156324..00000000000
Binary files a/ej2-angular/pivotview/images/olap_calc_grid.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/ondemand_member.webp b/ej2-angular/pivotview/images/ondemand_member.webp
deleted file mode 100644
index 5d027b1293e..00000000000
Binary files a/ej2-angular/pivotview/images/ondemand_member.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/oracle-code-web-app.webp b/ej2-angular/pivotview/images/oracle-code-web-app.webp
deleted file mode 100644
index dd0c8f7e9e1..00000000000
Binary files a/ej2-angular/pivotview/images/oracle-code-web-app.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/oracle-data-binding.webp b/ej2-angular/pivotview/images/oracle-data-binding.webp
deleted file mode 100644
index 032e10fb9d5..00000000000
Binary files a/ej2-angular/pivotview/images/oracle-data-binding.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/oracle-data-nuget-package-install.webp b/ej2-angular/pivotview/images/oracle-data-nuget-package-install.webp
deleted file mode 100644
index c428ee76965..00000000000
Binary files a/ej2-angular/pivotview/images/oracle-data-nuget-package-install.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/output_load_report.webp b/ej2-angular/pivotview/images/output_load_report.webp
deleted file mode 100644
index 1eee6a1bd80..00000000000
Binary files a/ej2-angular/pivotview/images/output_load_report.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/output_new_report.webp b/ej2-angular/pivotview/images/output_new_report.webp
deleted file mode 100644
index 52f368b1908..00000000000
Binary files a/ej2-angular/pivotview/images/output_new_report.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/output_remove_report.webp b/ej2-angular/pivotview/images/output_remove_report.webp
deleted file mode 100644
index c3d73f7fa61..00000000000
Binary files a/ej2-angular/pivotview/images/output_remove_report.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/output_rename_report.webp b/ej2-angular/pivotview/images/output_rename_report.webp
deleted file mode 100644
index c8c9ed91830..00000000000
Binary files a/ej2-angular/pivotview/images/output_rename_report.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/output_save_as_report.webp b/ej2-angular/pivotview/images/output_save_as_report.webp
deleted file mode 100644
index a507077db2b..00000000000
Binary files a/ej2-angular/pivotview/images/output_save_as_report.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/output_save_report.webp b/ej2-angular/pivotview/images/output_save_report.webp
deleted file mode 100644
index cc9755b82df..00000000000
Binary files a/ej2-angular/pivotview/images/output_save_report.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/pivottable-with-mysql-data.webp b/ej2-angular/pivotview/images/pivottable-with-mysql-data.webp
deleted file mode 100644
index 1d0ec23751e..00000000000
Binary files a/ej2-angular/pivotview/images/pivottable-with-mysql-data.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/postgresql-data-binding.webp b/ej2-angular/pivotview/images/postgresql-data-binding.webp
deleted file mode 100644
index 8824555ffb0..00000000000
Binary files a/ej2-angular/pivotview/images/postgresql-data-binding.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/postgresql-data-nuget-package-install.webp b/ej2-angular/pivotview/images/postgresql-data-nuget-package-install.webp
deleted file mode 100644
index fac831279d3..00000000000
Binary files a/ej2-angular/pivotview/images/postgresql-data-nuget-package-install.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/postgresql_data.webp b/ej2-angular/pivotview/images/postgresql_data.webp
deleted file mode 100644
index f80eec2dfb4..00000000000
Binary files a/ej2-angular/pivotview/images/postgresql_data.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/search.webp b/ej2-angular/pivotview/images/search.webp
deleted file mode 100644
index e5957c6bac7..00000000000
Binary files a/ej2-angular/pivotview/images/search.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/server-side-demo.webp b/ej2-angular/pivotview/images/server-side-demo.webp
deleted file mode 100644
index c7cb4e659e6..00000000000
Binary files a/ej2-angular/pivotview/images/server-side-demo.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/server-side-sample.webp b/ej2-angular/pivotview/images/server-side-sample.webp
deleted file mode 100644
index 371d1c8530f..00000000000
Binary files a/ej2-angular/pivotview/images/server-side-sample.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/server-side-with-collection-data.webp b/ej2-angular/pivotview/images/server-side-with-collection-data.webp
deleted file mode 100644
index c7cb4e659e6..00000000000
Binary files a/ej2-angular/pivotview/images/server-side-with-collection-data.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/server-side-with-csv-data.webp b/ej2-angular/pivotview/images/server-side-with-csv-data.webp
deleted file mode 100644
index 875f3980592..00000000000
Binary files a/ej2-angular/pivotview/images/server-side-with-csv-data.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/server-side-with-data-table.webp b/ej2-angular/pivotview/images/server-side-with-data-table.webp
deleted file mode 100644
index c7cb4e659e6..00000000000
Binary files a/ej2-angular/pivotview/images/server-side-with-data-table.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/server-side-with-dynamic-object.webp b/ej2-angular/pivotview/images/server-side-with-dynamic-object.webp
deleted file mode 100644
index 196df014c4b..00000000000
Binary files a/ej2-angular/pivotview/images/server-side-with-dynamic-object.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/server-side-with-expandoobject.webp b/ej2-angular/pivotview/images/server-side-with-expandoobject.webp
deleted file mode 100644
index 190ddae5207..00000000000
Binary files a/ej2-angular/pivotview/images/server-side-with-expandoobject.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/server-side-with-json-data.webp b/ej2-angular/pivotview/images/server-side-with-json-data.webp
deleted file mode 100644
index c71e923ae55..00000000000
Binary files a/ej2-angular/pivotview/images/server-side-with-json-data.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/snowflake-code-web-app.webp b/ej2-angular/pivotview/images/snowflake-code-web-app.webp
deleted file mode 100644
index 7f8fd1887be..00000000000
Binary files a/ej2-angular/pivotview/images/snowflake-code-web-app.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/snowflake-data-binding.webp b/ej2-angular/pivotview/images/snowflake-data-binding.webp
deleted file mode 100644
index e19206f634f..00000000000
Binary files a/ej2-angular/pivotview/images/snowflake-data-binding.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/snowflake-data-nuget-package-install.webp b/ej2-angular/pivotview/images/snowflake-data-nuget-package-install.webp
deleted file mode 100644
index 91987327e2e..00000000000
Binary files a/ej2-angular/pivotview/images/snowflake-data-nuget-package-install.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/solution-explorer.webp b/ej2-angular/pivotview/images/solution-explorer.webp
deleted file mode 100644
index a0e551a6764..00000000000
Binary files a/ej2-angular/pivotview/images/solution-explorer.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/sorting_fl.webp b/ej2-angular/pivotview/images/sorting_fl.webp
deleted file mode 100644
index 83cb57e78ca..00000000000
Binary files a/ej2-angular/pivotview/images/sorting_fl.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/sorting_gb.webp b/ej2-angular/pivotview/images/sorting_gb.webp
deleted file mode 100644
index b24a988cf45..00000000000
Binary files a/ej2-angular/pivotview/images/sorting_gb.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/sorting_grid.webp b/ej2-angular/pivotview/images/sorting_grid.webp
deleted file mode 100644
index bc961bbe6ed..00000000000
Binary files a/ej2-angular/pivotview/images/sorting_grid.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/sql-data-binding.webp b/ej2-angular/pivotview/images/sql-data-binding.webp
deleted file mode 100644
index 0f2699ed8c8..00000000000
Binary files a/ej2-angular/pivotview/images/sql-data-binding.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/treeview.webp b/ej2-angular/pivotview/images/treeview.webp
deleted file mode 100644
index 5d4a27b65d5..00000000000
Binary files a/ej2-angular/pivotview/images/treeview.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/valuefiltering_dialog.webp b/ej2-angular/pivotview/images/valuefiltering_dialog.webp
deleted file mode 100644
index 78abd235b28..00000000000
Binary files a/ej2-angular/pivotview/images/valuefiltering_dialog.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/valuefiltering_grid.webp b/ej2-angular/pivotview/images/valuefiltering_grid.webp
deleted file mode 100644
index 6d20fda4808..00000000000
Binary files a/ej2-angular/pivotview/images/valuefiltering_grid.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/images/while-drag-olap.webp b/ej2-angular/pivotview/images/while-drag-olap.webp
deleted file mode 100644
index 329fbb58b13..00000000000
Binary files a/ej2-angular/pivotview/images/while-drag-olap.webp and /dev/null differ
diff --git a/ej2-angular/pivotview/olap.md b/ej2-angular/pivotview/olap.md
index b7fb8251ebd..7b297cf47d1 100644
--- a/ej2-angular/pivotview/olap.md
+++ b/ej2-angular/pivotview/olap.md
@@ -66,7 +66,7 @@ ng new my-app
This command will prompt you for a few settings for the new project, such as whether to add Angular routing and which stylesheet format to use.
-
+
By default, it creates a CSS-based application. Once the project is created, navigate to the project folder to begin working with your new Angular application:
@@ -350,10 +350,10 @@ Users can add a calculated field at runtime using the built-in dialog by followi
**Step 1:** Click the **CALCULATED FIELD** button in the field list dialog, located at the top right corner. The calculated field dialog appears. Enter the name for the new calculated field in the dialog.
-
+
-
+
**Step 2:** Create the expression for your calculated field. To do this, drag and drop fields from the tree view on the left side of the dialog and use simple arithmetic operators.
@@ -361,25 +361,25 @@ Users can add a calculated field at runtime using the built-in dialog by followi
For more information about supported [`operators`](https://docs.microsoft.com/en-us/sql/mdx/operators-mdx-syntax?view=sql-server-ver15) and [`functions`](https://docs.microsoft.com/en-us/sql/mdx/functions-mdx-syntax?view=sql-server-ver15), see the Microsoft documentation.
-
+
**Step 3:** Select the type for the new field, either calculated measure or calculated dimension.
-
+
**Step 4:** If you are creating a calculated dimension, select its parent hierarchy from the drop-down list. This step is only required when adding a calculated dimension.
-
+
**Step 5:** Select a format string from the drop-down list and then click **OK** to finalize the calculated field.
-
+
-
+
#### Format String
@@ -394,7 +394,7 @@ By default, the **Standard** option is selected in the drop-down list.
This option helps users present calculated field results in the most suitable format for their needs.
-
+
#### Renaming the existing calculated field
@@ -408,10 +408,10 @@ To rename a calculated field:
4. Click **OK** to save the new name.
-
+
-
+
#### Editing an existing calculated field formula
@@ -425,10 +425,10 @@ You can edit an existing calculated field formula directly through the user inte
The Pivot Table will automatically update to show the changes in the calculated values.
-
+
-
+
#### Reusing an existing formula in a new calculated field
@@ -443,15 +443,15 @@ To reuse an existing formula when working with the OLAP data source:
5. If needed, you can adjust the formula further or use it without changes.
6. Click **OK** to add your new calculated field.
-
+
-
+
-
+
#### Modifying the existing format string
@@ -463,17 +463,17 @@ You can modify the format string of an existing calculated field at runtime thro
4. Select or enter a new format string based on your requirements.
5. Click **OK** to apply and save your changes.
-
+
-
+
#### Clearing the changes while editing the calculated field
If you make edits while creating or modifying a calculated field, you can easily remove all the current changes by clicking the **Clear** button. This option is available in the bottom left corner of the calculated field dialog. Using the Clear button helps you start over without manually undoing each change, ensuring a smooth editing experience.
-
+
### Virtual Scrolling
@@ -781,13 +781,13 @@ In the field list, each node uses a specific icon to help users quickly identify
| Icon | Name | Node type | Is draggable? |
|------|------|-----------|--------------|
-|  | Display folder | Display folder | No |
-|  | Measure | Measure | No |
-|  | Dimension | Dimension | No |
-|  | User-defined hierarchy | Hierarchy | Yes |
-|  | Attribute hierarchy | Hierarchy | Yes |
-|    | Levels (in order) | Level element | Yes |
-|  | Named set | Named set | Yes |
+|  | Display folder | Display folder | No |
+|  | Measure | Measure | No |
+|  | Dimension | Dimension | No |
+|  | User-defined hierarchy | Hierarchy | Yes |
+|  | Attribute hierarchy | Hierarchy | Yes |
+|    | Levels (in order) | Level element | Yes |
+|  | Named set | Named set | Yes |
## Events
diff --git a/ej2-angular/pivotview/pdf-export.md b/ej2-angular/pivotview/pdf-export.md
index 2cc53ecc3d8..61710010f7f 100644
--- a/ej2-angular/pivotview/pdf-export.md
+++ b/ej2-angular/pivotview/pdf-export.md
@@ -10,7 +10,7 @@ domainurl: ##DomainURL##
# PDF export in Angular Pivotview component
-The Angular Pivot Table lets users easily export their pivot table data as a PDF document. By setting the [`allowPdfExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/#allowpdfexport) property to **true** in the Pivot Table configuration, users can enable PDF export. Once enabled, you can use the [`pdfExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#pdfexport) method to generate and download the PDF file.
+The Angular Pivot Table allows exporting pivot table data as a PDF document. To enable PDF export, inject the `PDFExportService` into the Pivot Table and set the [`allowPdfExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/#allowpdfexport) property to **true**. Once enabled, use the [`pdfExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#pdfexport) method to generate and download the PDF file.
In the following example, an external button is used to start the PDF export process. When the user clicks the button, the [`pdfExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#pdfexport) method is called so that the Pivot Table data can be saved as a PDF file.
@@ -26,25 +26,15 @@ In the following example, an external button is used to start the PDF export pro
{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs208" %}
-## Multiple pivot table exporting
+## Multiple Pivot Table exporting
-The PDF export option allows users to save data from multiple Pivot Tables into a single PDF file. Each Pivot Table appears on a separate page in the exported document, making it easy to review and share information from multiple tables at once.
+Multiple Pivot Tables can be exported to the same or different pages in a single PDF file for easy comparison. Each Pivot Table requires a unique HTML element ID, such as **PivotTable1** and **PivotTable2**. To export multiple Pivot Tables, provide their IDs in the `pivotTableIds` property of the [`pdfExportProperties`](https://ej2.syncfusion.com/angular/documentation/api/grid/pdfexportproperties/), then pass the configured [`pdfExportProperties`](https://ej2.syncfusion.com/angular/documentation/api/grid/pdfexportproperties/) to the [`pdfExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#pdfexport) method with `isMultipleExport` set to **true** to enable multiple Pivot Table export mode.
-To export multiple Pivot Tables into a single PDF document, use the [`pdfExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#pdfexport) method. This method accepts the following parameters:
+> Note: PivotView PDF export uses Grid's PdfExportProperties model for configuration.
-- `pdfExportProperties` (optional): Configures export options for the table and chart. See the [`pdfExportProperties`](https://ej2.syncfusion.com/angular/documentation/api/grid/pdfexportproperties/) API reference for details.
-- `isMultipleExport` (optional): Set to **true** for the first Pivot Table to create a new multi-page PDF file. For additional tables, set to **false** to add them to the same file.
-- `pdfDoc` (optional): The PDF document object returned from the previous export. Use this to add more Pivot Tables to the same PDF.
-- `isBlob` (optional): Set to **true** to save the PDF document as blob data.
-- `exportBothTableAndChart` (optional): When the [`displayOption.view`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/displayOption/#view) property is set to **Both** this exports both table and chart data into a single PDF document.
+### Same page
-**Steps to export multiple Pivot Tables:**
-
-1. Call [`pdfExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#pdfexport) on the first Pivot Table with `isMultipleExport` set to **true** to start the export process.
-2. Once the PDF data for the first table is ready, pass it as the `pdfDoc` parameter to the next Pivot Table's [`pdfExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#pdfexport) call with `isMultipleExport` set to **false**.
-3. Repeat this process for each additional Pivot Table you want to include.
-
-The following code example shows how clicking the Export button exports both tables to a single PDF file, with each table on its own page:
+To export multiple Pivot Tables on the same page, set the `multipleExport.type` property to **AppendToPage** in [`pdfExportProperties`](https://ej2.syncfusion.com/angular/documentation/api/grid/pdfexportproperties/). Blank space between the Pivot Tables can be added by using the `multipleExport.blankSpace` property.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -58,6 +48,22 @@ The following code example shows how clicking the Export button exports both tab
{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs209" %}
+### New page
+
+To export each Pivot Table on a separate page, set the `multipleExport.type` property to **NewPage** in [`pdfExportProperties`](https://ej2.syncfusion.com/angular/documentation/api/grid/pdfexportproperties/).
+
+{% tabs %}
+{% highlight ts tabtitle="app.component.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs333/src/app.component.ts %}
+{% endhighlight %}
+
+{% highlight ts tabtitle="main.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs333/src/main.ts %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs333" %}
+
## Export table and chart into the same document
If you want to export both the table and the chart from the Pivot Table into a single PDF file, set the [`displayOption`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/displayOptionModel/) property to **Both**. Then, when you use the [`pdfExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#pdfexport) method, make sure to set the `exportBothTableAndChart` option to **true**. This will include both the data table and its chart in one PDF document when you export.
@@ -308,9 +314,13 @@ Users can control how many Pivot Table columns appear on each page of the export
### Changing the table's column width and row height while exporting
-You can adjust column width and row height in the PDF document when exporting data from the Pivot Table by handling the [`onPdfCellRender`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/#onpdfcellrender) event. To set the width of specific columns during export, use the `args.column.width` property inside this event.
+The column width and row height in the PDF document can be adjusted when exporting data from the Pivot Table by handling the [`pdfHeaderQueryCellInfo`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/gridSettingsModel/#pdfheaderquerycellinfo) and [`pdfQueryCellInfo`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/gridSettingsModel/#pdfquerycellinfo) events. These changes apply only to the exported PDF and do not affect the on-screen Pivot Table display.
+
+#### Adjusting column width
+
+To set the width of specific columns during export, use the [`pdfHeaderQueryCellInfo`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/gridSettingsModel/#pdfheaderquerycellinfo) event. This event triggers for each header cell during PDF export. Check if the current header cell matches the target column by comparing the level name using `args.gridCell.valueSort.levelName`, which contains the exact row and column level name of the current cell. If it matches, use the column index (`args.gridCell.colIndex`) to locate the column in the `pdfGrid` columns collection, which holds the current PDF grid and allows adjustment of specific column widths during export. Then set the **width** property with the desired value in **points**.
-For example, the **"Unit Sold"** column under **"FY 2015"** can be set to a width of **60** pixels as shown in the example below.
+For example, the **"Units Sold"** column under **"FY 2015"** can be set to a width of **250 points**:
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -324,7 +334,11 @@ For example, the **"Unit Sold"** column under **"FY 2015"** can be set to a widt
{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs320" %}
-Similarly, if you want to change the height of a particular row in the PDF document, you can use the `args.cell.height` property inside the same [onPdfCellRender](https://ej2.syncfusion.com/angular/documentation/api/pivotview/#onpdfcellrender) event. For instance, the **"Mountain Bikes"** row under **"France"** can be set to a height of **30** pixels as shown below.
+#### Adjusting row height
+
+To change the height of a particular row in the PDF document, use the [`pdfQueryCellInfo`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/gridSettingsModel/#pdfquerycellinfo) event. Check if the current row matches the target row by comparing the row headers using `args.data.rowHeaders`, which holds the string value of the row header level names. If it matches, set the `args.cell.gridRow.height` property with the desired value in **points**.
+
+For example, the **"Mountain Bikes"** row under **"France"** can be set to a height of **100 points**:
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -338,7 +352,115 @@ Similarly, if you want to change the height of a particular row in the PDF docum
{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs321" %}
-> Note: To use this option, make sure that [enableVirtualization](https://ej2.syncfusion.com/angular/documentation/api/pivotview/#enablevirtualization) is set to **true**. Additionally, both `VirtualScrollService` and `PDFExportService` must be injected into the Pivot Table.
+### Customize the pivot report during export
+
+The Pivot Table report can be modified before exporting by applying filters, adding formatting, or performing drill operations. These modifications apply only to the Pivot Table exported to the PDF file and do not affect the Pivot Table displayed on the screen. To modify the export behavior, use the [`beforeExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/#beforeexport) event. This event is triggered right before the export operation begins.
+
+In the following example, the [`beforeExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/#beforeexport) event is used to expand all Pivot Table headers by setting the [`expandAll`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/datasourcesettingsmodel#expandall) property to **true**. The `generateGridData` method is then called to obtain the updated [`pivotValues`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#pivotvalues). The updated [`pivotValues`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#pivotvalues) are assigned to [`args.dataCollections`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/beforeexporteventargs#datacollections) for the export. Finally, [`expandAll`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/datasourcesettingsmodel#expandall) is set to **false** again to restore the original state of the Pivot Table.
+
+{% tabs %}
+{% highlight ts tabtitle="app.component.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs334/src/app.component.ts %}
+{% endhighlight %}
+
+{% highlight ts tabtitle="main.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs334/src/main.ts %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs334" %}
+
+### Exporting with row and column cells spanning
+
+Exporting data from the Pivot Table with cell spanning preserves the row and column cell layout in the exported PDF. The [`pdfQueryCellInfo`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/gridSettingsModel/#pdfquerycellinfo) event allows customization of cell span properties during the PDF export process to match the Pivot Table UI layout.
+
+In the [`pdfQueryCellInfo`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/gridSettingsModel/#pdfquerycellinfo) event, customize the following cell span properties:
+
+- `args.cell.rowSpan` - Defines the number of rows a cell should span in the exported PDF.
+- `args.cell.colSpan` - Defines the number of columns a cell should span in the exported PDF.
+
+In the following code example, the row and column spans are adjusted for empty cells in the Pivot Table and during PDF export.
+
+{% tabs %}
+{% highlight ts tabtitle="app.component.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs335/src/app.component.ts %}
+{% endhighlight %}
+
+{% highlight ts tabtitle="main.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs335/src/main.ts %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs335" %}
+
+### Exporting with hyperlinks and images
+
+The Pivot Table allows adding hyperlinks and images to cells during PDF export. The [`pdfQueryCellInfo`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/gridSettingsModel/#pdfquerycellinfo) event handles row and value cells, while the [`pdfHeaderQueryCellInfo`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/gridSettingsModel/#pdfheaderquerycellinfo) event handles header cells. Both events provide access to the [hyperlink](https://ej2.syncfusion.com/angular/documentation/api/grid/pdfquerycellinfoeventargs#hyperlink) property to set URLs in cells and the [image](https://ej2.syncfusion.com/angular/documentation/api/grid/pdfquerycellinfoeventargs#image) property to add images to cells.
+
+> PDF export supports base64 strings for exporting images.
+
+{% tabs %}
+{% highlight ts tabtitle="app.component.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs336/src/app.component.ts %}
+{% endhighlight %}
+
+{% highlight ts tabtitle="main.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs336/src/main.ts %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs336" %}
+
+## Exporting with custom aggregates
+
+The Pivot Table supports exporting data with custom calculations beyond the default options such as **Sum**, **Count**, or **Average**. Custom aggregates allow for advanced analytical scenarios where standard calculations are not sufficient.
+
+To export with custom aggregates, follow these steps:
+
+1. Define custom aggregate names using the [localization](https://ej2.syncfusion.com/angular/documentation/pivotview/globalization-and-localization#localization) option. These names appear in the Pivot Table's aggregation menu.
+2. Add custom aggregation types to the aggregate menu during Pivot Table initialization using the [`dataBound`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#databound) event.
+3. Use the [`aggregateCellInfo`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#aggregatecellinfo) event to define the calculation logic for each custom type. This event triggers for every aggregate cell, allowing custom calculations to be applied.
+4. Once the calculations are defined, call the [`pdfExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#pdfexport) method to export the Pivot Table with all custom aggregations applied.
+
+For more information about adding custom aggregation types, see the [custom aggregation documentation](https://ej2.syncfusion.com/angular/documentation/pivotview/how-to/add-custom-aggregation-type-in-menu).
+
+The following example shows how to add two custom aggregate types to the aggregate menu: **CustomAggregateType 1**, which calculates a weighted average, and **CustomAggregateType 2**, which calculates the percentage of the total.
+
+{% tabs %}
+{% highlight ts tabtitle="app.component.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs337/src/app.component.ts %}
+{% endhighlight %}
+
+{% highlight ts tabtitle="main.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs337/src/main.ts %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs337" %}
+
+## Exporting with custom date format
+
+The Pivot Table component allows applying custom date formatting to date-type fields added to the row and column axes. This formatting maintains consistency between the rendered pivot table and the exported PDF file. Configure custom date formatting through the [`formatSettings`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/datasourcesettingsmodel#formatsettings) property by following these steps:
+
+1. Set the [`name`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/formatsettingsmodel#name) property to the target date field.
+2. Set the [`type`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/formatsettingsmodel#type) property to **date** to identify the field as a date type.
+3. Set the [`format`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/formatsettingsmodel#format) property to the desired date format pattern (for example, `"EEE, MMM d, ''yy"`).
+
+After configuration, call the [`pdfExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#pdfexport) method to export the Pivot Table with the applied formatting.
+
+The following example demonstrates exporting a Pivot Table with a custom date format. The date field uses the pattern `"EEE, MMM d, ''yy"` to display dates in the format: weekday abbreviation, month abbreviation, day, and two-digit year (for example, Sun, May 8, '23).
+
+{% tabs %}
+{% highlight ts tabtitle="app.component.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs338/src/app.component.ts %}
+{% endhighlight %}
+
+{% highlight ts tabtitle="main.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs338/src/main.ts %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs338" %}
## Changing the pivot table style while exporting
@@ -400,33 +522,61 @@ You can also use custom fonts when exporting if you need support for languages o
> Non-English alphabets can also be exported correctly when you specify a suitable font.
-## Virtual Scroll Data
+### Apply custom styles based on specific conditions
+
+When exporting Pivot Table data to PDF, custom styles can be applied to cells based on their values or other criteria. To apply custom styles, use the [`pdfQueryCellInfo`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/gridSettingsModel/#pdfquerycellinfo) event. In this event, the cell information can be accessed through the [`args.data`](https://ej2.syncfusion.com/angular/documentation/api/grid/pdfquerycellinfoeventargs#data) property, and its style properties, such as [`backgroundColor`](https://ej2.syncfusion.com/angular/documentation/api/grid/pdfstyle#backgroundcolor), [`fontFamily`](https://ej2.syncfusion.com/angular/documentation/api/grid/pdfstyle#fontfamily), and [`textPenColor`](https://ej2.syncfusion.com/angular/documentation/api/grid/pdfstyle#textpencolor), can be customized. These changes apply only to the exported PDF and do not affect the on-screen Pivot Table display
+
+The following example demonstrates how to apply conditional formatting to the **Sold** field values in the exported PDF document. Values below **700** units are highlighted in **red**, while values of **700** units or more are highlighted in **green**.
+
+{% tabs %}
+{% highlight ts tabtitle="app.component.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs339/src/app.component.ts %}
+{% endhighlight %}
+
+{% highlight ts tabtitle="main.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs339/src/main.ts %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs339" %}
-When working with large amounts of data in the Pivot Table, the virtual scroll option allows users to efficiently export all the table data as a complete PDF document, without any slowdown or performance issues. This method uses PivotEngine export to manage and export extensive datasets smoothly. To use this option, make sure to enable the [`allowPdfExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/#allowpdfexport) property and use the [`pdfExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#pdfexport) method in the Pivot Table.
+## Enabling horizontal overflow
-> To use PivotEngine export, inject the `PDFExportService` module into the Pivot Table.
-> When virtual scrolling is enabled, PivotEngine export is used automatically.
+The Pivot Table component supports exporting all columns on a single page in the exported PDF document, even if the number of columns exceeds the maximum page limits. This functionality ensures readability and comprehensiveness of the exported PDF. To enable this option, set the [allowHorizontalOverflow](https://ej2.syncfusion.com/angular/documentation/api/grid/pdfexportproperties#allowhorizontaloverflow) property in the [`pdfExportProperties`](https://ej2.syncfusion.com/angular/documentation/api/grid/pdfexportproperties/) object to **true**.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
-{% include code-snippet/pivot-grid/getting-started-cs216/src/app.component.ts %}
+{% include code-snippet/pivot-grid/getting-started-cs340/src/app.component.ts %}
{% endhighlight %}
{% highlight ts tabtitle="main.ts" %}
-{% include code-snippet/pivot-grid/getting-started-cs216/src/main.ts %}
+{% include code-snippet/pivot-grid/getting-started-cs340/src/main.ts %}
{% endhighlight %}
{% endtabs %}
-{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs216" %}
+{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs340" %}
-### Repeat row headers
+## Export only the current page
-When exporting the Pivot Table as a PDF using the PivotEngine export option, the row headers are repeated on each page by default. This helps users easily identify rows when viewing larger tables split across multiple PDF pages.
+By default, the Pivot Table exports all data records. When working with large datasets, this can result in larger file sizes. To optimize file size and performance, only the data records currently visible in the viewport can be exported by setting the [`exportAllPages`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/#exportallpages) property to **false**.
+
+> This option is applicable only when the virtualization or paging functionality is enabled.
+
+{% tabs %}
+{% highlight ts tabtitle="app.component.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs218/src/app.component.ts %}
+{% endhighlight %}
+
+{% highlight ts tabtitle="main.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs218/src/main.ts %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs218" %}
-If you want to turn off the repeated row headers in your PDF, set the [`allowRepeatHeader`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/beforeExportEventArgs/#allowrepeatheader) property to **false** inside the [`beforeExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/#beforeexport) event. Make sure you are using the [`pdfExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#pdfexport) method with the PivotEngine export.
+## Repeat row headers
-> To use PivotEngine export, inject the `PDFExportService` module in the Pivot Table.
-> By default, repeating row headers is enabled in the PivotEngine export.
+By default, row headers are repeated on each page when exporting the Pivot Table as a PDF. This allows easy identification of rows in larger tables that extend across multiple pages. To turn off repeated row headers, set the [`allowRepeatHeader`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/beforeExportEventArgs/#allowrepeatheader) property to **false** within the [`beforeExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/#beforeexport) event.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -440,23 +590,37 @@ If you want to turn off the repeated row headers in your PDF, set the [`allowRep
{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs217" %}
-### Export all pages
+## Repeat column headers on every page
-The Pivot Table allows users to export the entire set of virtual data—meaning all records used to create the complete table—as a PDF document. By default, when virtual scrolling is enabled, the pivot engine will export all data. If you want to export only the data currently shown in the visible area of the Pivot Table, set the [`exportAllPages`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/#exportallpages) property to **false**. To make use of the pivot engine export, include the `PDFExportService` module in your Pivot Table.
+By default, column headers are repeated on each page when exporting the Pivot Table as a PDF. This ensures consistent column identification across multi-page documents. To prevent column headers from repeating on each page, use the [`pdfQueryCellInfo`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/gridSettingsModel/#pdfquerycellinfo) event. In this event, access the `pdfGrid` object through `args.cell.row.pdfGrid`, which holds the current PDF grid and allows component over the repeat header behavior. Then set its `repeatHeader` property to **false** to disable the repetition.
-> By default, the pivot engine export is performed automatically when virtual scrolling is enabled.
+{% tabs %}
+{% highlight ts tabtitle="app.component.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs341/src/app.component.ts %}
+{% endhighlight %}
+
+{% highlight ts tabtitle="main.ts" %}
+{% include code-snippet/pivot-grid/getting-started-cs341/src/main.ts %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs341" %}
+
+## Show spinner during export
+
+When exporting data, displaying a spinner provides visual feedback to users that the export process is in progress. To show a spinner, invoke the `showWaitingPopup` method in the button's click event before calling the [`pdfExport`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/index-default#pdfexport) method. After the export is complete, use the [`exportComplete`](https://ej2.syncfusion.com/angular/documentation/api/pivotview/#exportcomplete) event to trigger the `hideWaitingPopup` method, which hides the spinner and indicates that the export has finished.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
-{% include code-snippet/pivot-grid/getting-started-cs218/src/app.component.ts %}
+{% include code-snippet/pivot-grid/getting-started-cs342/src/app.component.ts %}
{% endhighlight %}
{% highlight ts tabtitle="main.ts" %}
-{% include code-snippet/pivot-grid/getting-started-cs218/src/main.ts %}
+{% include code-snippet/pivot-grid/getting-started-cs342/src/main.ts %}
{% endhighlight %}
{% endtabs %}
-{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs218" %}
+{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs342" %}
## Events
diff --git a/ej2-angular/pivotview/pivot-chart.md b/ej2-angular/pivotview/pivot-chart.md
index 2f6e491b388..5d3979f4f8d 100644
--- a/ej2-angular/pivotview/pivot-chart.md
+++ b/ej2-angular/pivotview/pivot-chart.md
@@ -126,7 +126,7 @@ In accumulation charts, you can use the drill down and drill up options to explo
{% previewsample "page.domainurl/samples/pivot-grid/getting-started-cs225" %}
-
+
### Column Headers and Delimiters
diff --git a/ej2-angular/pivotview/server-side-pivot-engine.md b/ej2-angular/pivotview/server-side-pivot-engine.md
index f1e335e8af0..27c5eb6feca 100644
--- a/ej2-angular/pivotview/server-side-pivot-engine.md
+++ b/ej2-angular/pivotview/server-side-pivot-engine.md
@@ -27,7 +27,7 @@ This section explains how to use the Syncfusion®<
3. Open the **PivotController** application in Visual Studio. The Syncfusion [Syncfusion.Pivot.Engine](https://www.nuget.org/packages/Syncfusion.Pivot.Engine/) library will automatically download from nuget.org, enabling server-side calculations such as aggregation, filtering, and sorting for the Pivot Table.
-
+
### Connecting Pivot Table to Server-side Pivot Engine
@@ -102,7 +102,7 @@ export class AppComponent implements OnInit {
4. **Run the Angular application**
Launch your Angular application to view the Pivot Table. The Pivot Table will connect to the server-side Pivot Engine, retrieve the processed data, and display the results based on the configured report.
-
+
## Available configurations in Server-side application
@@ -194,7 +194,7 @@ this.dataSourceSettings = {
};
```
-
+
#### JSON
@@ -269,7 +269,7 @@ this.dataSourceSettings = {
}
```
-
+
You can also use JSON data from a remote server in the same way as a local JSON file. Both directly downloadable *.json files and web service URLs are supported. To do this, specify the URL of the remote *.json file in the **GetData** method. The remaining configurations stay the same.
@@ -385,7 +385,7 @@ this.dataSourceSettings = {
}
```
-
+
You can also use CSV data from a remote server, such as a downloadable file or a web service URL. To do this, provide the CSV file URL in the **GetData** method. The process for setting up the Pivot Table remains the same as described above.
@@ -484,7 +484,7 @@ this.dataSourceSettings = {
This configuration connects the Pivot Table to the server-side `DataTable`, enabling efficient data rendering with reduced network traffic.
-
+
#### Dynamic
@@ -558,7 +558,7 @@ this.dataSourceSettings = {
}
```
-
+
##### Dynamic Objects
@@ -647,7 +647,7 @@ this.dataSourceSettings = {
}
```
-
+
### Controller Configuration
@@ -794,7 +794,7 @@ Then, based on the **Action** parameter (**onExcelExport** or **onCsvExport**),
```
-
+
### Add header and footer while exporting
@@ -870,7 +870,7 @@ export class AppComponent implements OnInit {
```
-
+
## CSV Export
@@ -979,7 +979,7 @@ Then, based on the **Action** parameter (**onExcelExport** or **onCsvExport**),
```
-
+
## Export as Pivot
@@ -1089,7 +1089,7 @@ Then, based on the **Action** parameter (**onPivotExcelExport** or **onPivotCsvE
```
-
+
## Secure server requests with beforeServiceInvoke
diff --git a/ej2-angular/pivotview/sorting.md b/ej2-angular/pivotview/sorting.md
index e17d05d88e6..9d424a4ebc0 100644
--- a/ej2-angular/pivotview/sorting.md
+++ b/ej2-angular/pivotview/sorting.md
@@ -23,13 +23,13 @@ To enable member sorting, set the [`enableSorting`](https://ej2.syncfusion.com/a
#### Visual Reference
- **Field List Sort Icon**:
- 
+ 
- **Grouping Bar Sort Icon**:
- 
+ 
- **Sorted Pivot Table**:
- 
+ 
### Configuring Member Sorting Code Behind
diff --git a/ej2-angular/pivotview/tool-bar.md b/ej2-angular/pivotview/tool-bar.md
index c41578339b0..d2e600221c2 100644
--- a/ej2-angular/pivotview/tool-bar.md
+++ b/ej2-angular/pivotview/tool-bar.md
@@ -70,17 +70,17 @@ To learn more about the supported chart types, see the [Pivot Chart documentatio
In the pivot chart, users can switch between a single axis and multiple axes using a built-in checkbox located in the chart type dropdown menu on the toolbar. This option allows users to display data on multiple axes for better visualization. For more details, [refer here](https://ej2.syncfusion.com/angular/documentation/pivotview/pivot-chart#multiple-axis).
-
+
The pivot chart supports three modes for multiple axes: `Stacked`, `Single`, and `Combined`. Users can select a mode from the "Multiple Axis Mode" dropdown list, which appears after clicking the **More...** option in the chart type dropdown menu.
-
+
## Show or hide legend
In the pivot chart, you can show or hide the legend dynamically using an option in the chart type drop-down menu on the toolbar. This allows you to control whether the legend appears alongside the chart. For accumulation chart types, such as pie, doughnut, pyramid, and funnel, the legend is hidden by default. You can enable or disable the legend using a built-in checkbox available in the drop-down menu.
-
+
## Adding custom option to the toolbar
@@ -164,11 +164,11 @@ SQL Server is a relational database management system (RDBMS) that can be used t
**1.** Open Visual Studio and create an ASP.NET Core Web App project type, naming it **MyWebService**. To create an ASP.NET Core Web application, follow the document [link](https://learn.microsoft.com/en-us/visualstudio/get-started/csharp/tutorial-aspnet-core?view=vs-2022).
-
+
**2.** To connect a SQL Server database using the Microsoft SqlClient in our application, we need to install the [Microsoft.Data.SqlClient](https://www.nuget.org/packages/Microsoft.Data.SqlClient) NuGet package. To do so, open the NuGet package manager of the project solution, search for the package **Microsoft.Data.SqlClient** and install it.
-
+
**3.** Under the **Controllers** folder, create a Web API controller (aka, PivotController.cs) file that aids in data communication with the Pivot Table.
@@ -505,11 +505,11 @@ namespace MyWebApp.Controllers
```
-
+
In the meantime, you can save a duplicate of the current report to the SQL Server database with a different name by selecting **"Save as current report"** from the toolbar. The [saveReport](#savereport) event will then be triggered with the new report name **"Sample Report 1"** and the current report. You can save them to the SQL Server database after passing them to the Web API service, as mentioned above.
-
+
#### Loading a report
@@ -660,7 +660,7 @@ namespace MyWebApp.Controllers
```
-
+
#### Renaming a report
@@ -826,7 +826,7 @@ namespace MyWebApp.Controllers
```
-
+
#### Deleting a report
@@ -975,13 +975,13 @@ namespace MyWebApp.Controllers
```
-
+
#### Adding a report
When you select the **"Create a new report"** option from the toolbar, the [newReport](#newreport) event is triggered, followed by the [saveReport](#savereport) event. To save this new report to the SQL database, use the [saveReport](#savereport) event triggered later, and then follow the save report briefing in the preceding [topic](#saving-a-report).
-
+
### Limitations with respect to report manipulation
diff --git a/ej2-angular/ribbon/getting-started.md b/ej2-angular/ribbon/getting-started.md
index de4a728a590..bf84afae699 100644
--- a/ej2-angular/ribbon/getting-started.md
+++ b/ej2-angular/ribbon/getting-started.md
@@ -89,16 +89,16 @@ To specify the `ngcc` package in the `package.json` file, add the `-ngcc` suffix
Import the required CSS theme files for the Ribbon component and its dependencies into your `styles.css` file.
```css
-@import "../node_modules/@syncfusion/ej2-base/styles/material3.css";
-@import '../node_modules/@syncfusion/ej2-buttons/styles/material3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/material3.css';
-@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/material3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/material3.css';
-@import '../node_modules/@syncfusion/ej2-lists/styles/material3.css';
-@import '../node_modules/@syncfusion/ej2-dropdowns/styles/material3.css';
-@import '../node_modules/@syncfusion/ej2-navigations/styles/material3.css';
-@import "../node_modules/@syncfusion/ej2-ribbon/styles/material3.css";
-@import "../node_modules/@syncfusion/ej2-angular-ribbon/styles/material3.css";
+@import "../node_modules/@syncfusion/ej2-base/styles/tailwind3.css";
+@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-lists/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-dropdowns/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-navigations/styles/tailwind3.css';
+@import "../node_modules/@syncfusion/ej2-ribbon/styles/tailwind3.css";
+@import "../node_modules/@syncfusion/ej2-angular-ribbon/styles/tailwind3.css";
```
## Adding Syncfusion® Ribbon component
diff --git a/ej2-angular/samples/block-editor/appearance/index.html b/ej2-angular/samples/block-editor/appearance/index.html
index 5704d658686..0fbc3776389 100644
--- a/ej2-angular/samples/block-editor/appearance/index.html
+++ b/ej2-angular/samples/block-editor/appearance/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/block-types/callout-block/index.html b/ej2-angular/samples/block-editor/blocks/block-types/callout-block/index.html
index f6bcc506f09..ce28142ed81 100644
--- a/ej2-angular/samples/block-editor/blocks/block-types/callout-block/index.html
+++ b/ej2-angular/samples/block-editor/blocks/block-types/callout-block/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/block-types/code-block/index.html b/ej2-angular/samples/block-editor/blocks/block-types/code-block/index.html
index 9bc3d4593e3..b89986de730 100644
--- a/ej2-angular/samples/block-editor/blocks/block-types/code-block/index.html
+++ b/ej2-angular/samples/block-editor/blocks/block-types/code-block/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/block-types/divider-block/index.html b/ej2-angular/samples/block-editor/blocks/block-types/divider-block/index.html
index cacc1473e11..43d030d45a7 100644
--- a/ej2-angular/samples/block-editor/blocks/block-types/divider-block/index.html
+++ b/ej2-angular/samples/block-editor/blocks/block-types/divider-block/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/block-types/heading-block/index.html b/ej2-angular/samples/block-editor/blocks/block-types/heading-block/index.html
index 5e03164b4d6..2a830981215 100644
--- a/ej2-angular/samples/block-editor/blocks/block-types/heading-block/index.html
+++ b/ej2-angular/samples/block-editor/blocks/block-types/heading-block/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/block-types/image-block/index.html b/ej2-angular/samples/block-editor/blocks/block-types/image-block/index.html
index 37868f796f1..87e80c5fd46 100644
--- a/ej2-angular/samples/block-editor/blocks/block-types/image-block/index.html
+++ b/ej2-angular/samples/block-editor/blocks/block-types/image-block/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/block-types/list-block/index.html b/ej2-angular/samples/block-editor/blocks/block-types/list-block/index.html
index d0c0555ed61..dc3ab2b565e 100644
--- a/ej2-angular/samples/block-editor/blocks/block-types/list-block/index.html
+++ b/ej2-angular/samples/block-editor/blocks/block-types/list-block/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/block-types/paragraph-block/index.html b/ej2-angular/samples/block-editor/blocks/block-types/paragraph-block/index.html
index 1a2006daba1..7e5312e608f 100644
--- a/ej2-angular/samples/block-editor/blocks/block-types/paragraph-block/index.html
+++ b/ej2-angular/samples/block-editor/blocks/block-types/paragraph-block/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/block-types/quote-block/index.html b/ej2-angular/samples/block-editor/blocks/block-types/quote-block/index.html
index 961302408b8..347813a4ee7 100644
--- a/ej2-angular/samples/block-editor/blocks/block-types/quote-block/index.html
+++ b/ej2-angular/samples/block-editor/blocks/block-types/quote-block/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/block-types/template-block/index.html b/ej2-angular/samples/block-editor/blocks/block-types/template-block/index.html
index c5094ad6cba..fc3fd9ae7c0 100644
--- a/ej2-angular/samples/block-editor/blocks/block-types/template-block/index.html
+++ b/ej2-angular/samples/block-editor/blocks/block-types/template-block/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/block-types/toggle-block/index.html b/ej2-angular/samples/block-editor/blocks/block-types/toggle-block/index.html
index 72ad109af4c..d0c45ee8935 100644
--- a/ej2-angular/samples/block-editor/blocks/block-types/toggle-block/index.html
+++ b/ej2-angular/samples/block-editor/blocks/block-types/toggle-block/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/children/index.html b/ej2-angular/samples/block-editor/blocks/children/index.html
index 6e097a0fa32..cf5c1bc110f 100644
--- a/ej2-angular/samples/block-editor/blocks/children/index.html
+++ b/ej2-angular/samples/block-editor/blocks/children/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/content-styles/index.html b/ej2-angular/samples/block-editor/blocks/content-styles/index.html
index a7296488f24..28d35f629ec 100644
--- a/ej2-angular/samples/block-editor/blocks/content-styles/index.html
+++ b/ej2-angular/samples/block-editor/blocks/content-styles/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/content-types/index.html b/ej2-angular/samples/block-editor/blocks/content-types/index.html
index 5994b38300c..57373793ae6 100644
--- a/ej2-angular/samples/block-editor/blocks/content-types/index.html
+++ b/ej2-angular/samples/block-editor/blocks/content-types/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/cssClass/index.html b/ej2-angular/samples/block-editor/blocks/cssClass/index.html
index b39a03f89cb..6c4f212504c 100644
--- a/ej2-angular/samples/block-editor/blocks/cssClass/index.html
+++ b/ej2-angular/samples/block-editor/blocks/cssClass/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/indent/index.html b/ej2-angular/samples/block-editor/blocks/indent/index.html
index 3e644134b20..5660b7968a3 100644
--- a/ej2-angular/samples/block-editor/blocks/indent/index.html
+++ b/ej2-angular/samples/block-editor/blocks/indent/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/isChecked/index.html b/ej2-angular/samples/block-editor/blocks/isChecked/index.html
index 040f23e9e07..d08fea58c19 100644
--- a/ej2-angular/samples/block-editor/blocks/isChecked/index.html
+++ b/ej2-angular/samples/block-editor/blocks/isChecked/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/label-settings/index.html b/ej2-angular/samples/block-editor/blocks/label-settings/index.html
index c78e736a9dc..85348170be7 100644
--- a/ej2-angular/samples/block-editor/blocks/label-settings/index.html
+++ b/ej2-angular/samples/block-editor/blocks/label-settings/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/blocks/placeholder/index.html b/ej2-angular/samples/block-editor/blocks/placeholder/index.html
index e0465e124f7..88c841dc2ff 100644
--- a/ej2-angular/samples/block-editor/blocks/placeholder/index.html
+++ b/ej2-angular/samples/block-editor/blocks/placeholder/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/drag-drop/index.html b/ej2-angular/samples/block-editor/drag-drop/index.html
index 32cd795a44b..5466b8d988e 100644
--- a/ej2-angular/samples/block-editor/drag-drop/index.html
+++ b/ej2-angular/samples/block-editor/drag-drop/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/editor-menus/block-action/index.html b/ej2-angular/samples/block-editor/editor-menus/block-action/index.html
index 89b4b06e809..7f2c8914a50 100644
--- a/ej2-angular/samples/block-editor/editor-menus/block-action/index.html
+++ b/ej2-angular/samples/block-editor/editor-menus/block-action/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/editor-menus/context-menu/index.html b/ej2-angular/samples/block-editor/editor-menus/context-menu/index.html
index ce90b601330..9bda875355d 100644
--- a/ej2-angular/samples/block-editor/editor-menus/context-menu/index.html
+++ b/ej2-angular/samples/block-editor/editor-menus/context-menu/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/editor-menus/inline-toolbar/index.html b/ej2-angular/samples/block-editor/editor-menus/inline-toolbar/index.html
index 179c608fd0f..0e759e1fbf2 100644
--- a/ej2-angular/samples/block-editor/editor-menus/inline-toolbar/index.html
+++ b/ej2-angular/samples/block-editor/editor-menus/inline-toolbar/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/editor-menus/slash-command/index.html b/ej2-angular/samples/block-editor/editor-menus/slash-command/index.html
index 0c21bdaba7e..01ddbafbc7f 100644
--- a/ej2-angular/samples/block-editor/editor-menus/slash-command/index.html
+++ b/ej2-angular/samples/block-editor/editor-menus/slash-command/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/getting-started/index.html b/ej2-angular/samples/block-editor/getting-started/index.html
index c42c301e288..56b4a279369 100644
--- a/ej2-angular/samples/block-editor/getting-started/index.html
+++ b/ej2-angular/samples/block-editor/getting-started/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/globalization/localization/index.html b/ej2-angular/samples/block-editor/globalization/localization/index.html
index 7280cd17a20..d211ce7ae9c 100644
--- a/ej2-angular/samples/block-editor/globalization/localization/index.html
+++ b/ej2-angular/samples/block-editor/globalization/localization/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/globalization/rtl/index.html b/ej2-angular/samples/block-editor/globalization/rtl/index.html
index 79c25696ecb..252d59b81ef 100644
--- a/ej2-angular/samples/block-editor/globalization/rtl/index.html
+++ b/ej2-angular/samples/block-editor/globalization/rtl/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/methods/block/index.html b/ej2-angular/samples/block-editor/methods/block/index.html
index bd74b4d0c36..8a862337e16 100644
--- a/ej2-angular/samples/block-editor/methods/block/index.html
+++ b/ej2-angular/samples/block-editor/methods/block/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/methods/data/index.html b/ej2-angular/samples/block-editor/methods/data/index.html
index da49cb5ad56..e1d4e1e8763 100644
--- a/ej2-angular/samples/block-editor/methods/data/index.html
+++ b/ej2-angular/samples/block-editor/methods/data/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/methods/formatting/index.html b/ej2-angular/samples/block-editor/methods/formatting/index.html
index 2b80f200dd0..cf2a1b994d2 100644
--- a/ej2-angular/samples/block-editor/methods/formatting/index.html
+++ b/ej2-angular/samples/block-editor/methods/formatting/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/methods/selection/index.html b/ej2-angular/samples/block-editor/methods/selection/index.html
index b6b77b73d1b..6036980aa85 100644
--- a/ej2-angular/samples/block-editor/methods/selection/index.html
+++ b/ej2-angular/samples/block-editor/methods/selection/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/paste-cleanup/allowedstyle/index.html b/ej2-angular/samples/block-editor/paste-cleanup/allowedstyle/index.html
index c719387111c..49b5241d5d1 100644
--- a/ej2-angular/samples/block-editor/paste-cleanup/allowedstyle/index.html
+++ b/ej2-angular/samples/block-editor/paste-cleanup/allowedstyle/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/paste-cleanup/plaintext/index.html b/ej2-angular/samples/block-editor/paste-cleanup/plaintext/index.html
index 8108e36daee..ed884985414 100644
--- a/ej2-angular/samples/block-editor/paste-cleanup/plaintext/index.html
+++ b/ej2-angular/samples/block-editor/paste-cleanup/plaintext/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/block-editor/undo-redo/index.html b/ej2-angular/samples/block-editor/undo-redo/index.html
index 5a0e5ee179f..d88b3d8a56a 100644
--- a/ej2-angular/samples/block-editor/undo-redo/index.html
+++ b/ej2-angular/samples/block-editor/undo-redo/index.html
@@ -5,16 +5,16 @@
-
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/ej2-angular/samples/ribbon/Back-Button/index.html b/ej2-angular/samples/ribbon/Back-Button/index.html
index 9fd437d9e4d..c3447d18af2 100644
--- a/ej2-angular/samples/ribbon/Back-Button/index.html
+++ b/ej2-angular/samples/ribbon/Back-Button/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Backstage-Items/index.html b/ej2-angular/samples/ribbon/Backstage-Items/index.html
index e32e901e515..c6ebdc6cc37 100644
--- a/ej2-angular/samples/ribbon/Backstage-Items/index.html
+++ b/ej2-angular/samples/ribbon/Backstage-Items/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Classic/index.html b/ej2-angular/samples/ribbon/Classic/index.html
index 39425fb104c..7ca6b5da9e2 100644
--- a/ej2-angular/samples/ribbon/Classic/index.html
+++ b/ej2-angular/samples/ribbon/Classic/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/CollapsibleState/index.html b/ej2-angular/samples/ribbon/CollapsibleState/index.html
index f35d15733c8..462525c98fc 100644
--- a/ej2-angular/samples/ribbon/CollapsibleState/index.html
+++ b/ej2-angular/samples/ribbon/CollapsibleState/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/ColorPickerItem/index.html b/ej2-angular/samples/ribbon/ColorPickerItem/index.html
index b873e46ad11..7c7c81ddd30 100644
--- a/ej2-angular/samples/ribbon/ColorPickerItem/index.html
+++ b/ej2-angular/samples/ribbon/ColorPickerItem/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/ComboboxItem/index.html b/ej2-angular/samples/ribbon/ComboboxItem/index.html
index f1812dd27ec..e0b0d76ab09 100644
--- a/ej2-angular/samples/ribbon/ComboboxItem/index.html
+++ b/ej2-angular/samples/ribbon/ComboboxItem/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Contextual-tabs/add-tabs/index.html b/ej2-angular/samples/ribbon/Contextual-tabs/add-tabs/index.html
index ee8c6ca6c1f..15a8b2ed25d 100644
--- a/ej2-angular/samples/ribbon/Contextual-tabs/add-tabs/index.html
+++ b/ej2-angular/samples/ribbon/Contextual-tabs/add-tabs/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Contextual-tabs/method/index.html b/ej2-angular/samples/ribbon/Contextual-tabs/method/index.html
index e5ae54dc37b..34dd1c6ee0b 100644
--- a/ej2-angular/samples/ribbon/Contextual-tabs/method/index.html
+++ b/ej2-angular/samples/ribbon/Contextual-tabs/method/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Contextual-tabs/selected-tab/index.html b/ej2-angular/samples/ribbon/Contextual-tabs/selected-tab/index.html
index 1e67315063f..d2eda8c4510 100644
--- a/ej2-angular/samples/ribbon/Contextual-tabs/selected-tab/index.html
+++ b/ej2-angular/samples/ribbon/Contextual-tabs/selected-tab/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Custom-Item/index.html b/ej2-angular/samples/ribbon/Custom-Item/index.html
index 1dc53fb8e25..3ae331605ff 100644
--- a/ej2-angular/samples/ribbon/Custom-Item/index.html
+++ b/ej2-angular/samples/ribbon/Custom-Item/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/CustomLauncher/index.html b/ej2-angular/samples/ribbon/CustomLauncher/index.html
index f13d7344997..bc27b794089 100644
--- a/ej2-angular/samples/ribbon/CustomLauncher/index.html
+++ b/ej2-angular/samples/ribbon/CustomLauncher/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Customization/index.html b/ej2-angular/samples/ribbon/Customization/index.html
index 0a425eebe18..c0f3378235d 100644
--- a/ej2-angular/samples/ribbon/Customization/index.html
+++ b/ej2-angular/samples/ribbon/Customization/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/DisplayOptions/index.html b/ej2-angular/samples/ribbon/DisplayOptions/index.html
index 03a7c0ce8ce..b6682aea4bf 100644
--- a/ej2-angular/samples/ribbon/DisplayOptions/index.html
+++ b/ej2-angular/samples/ribbon/DisplayOptions/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/DropDownCustomItem/index.html b/ej2-angular/samples/ribbon/DropDownCustomItem/index.html
index 4d68ca6bd69..16a01363351 100644
--- a/ej2-angular/samples/ribbon/DropDownCustomItem/index.html
+++ b/ej2-angular/samples/ribbon/DropDownCustomItem/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/DropdownTarget/index.html b/ej2-angular/samples/ribbon/DropdownTarget/index.html
index bb8db8f550f..3afcdbf74d4 100644
--- a/ej2-angular/samples/ribbon/DropdownTarget/index.html
+++ b/ej2-angular/samples/ribbon/DropdownTarget/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Footer-Items/index.html b/ej2-angular/samples/ribbon/Footer-Items/index.html
index 71fe4e35f8b..340ea5f69cb 100644
--- a/ej2-angular/samples/ribbon/Footer-Items/index.html
+++ b/ej2-angular/samples/ribbon/Footer-Items/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/GroupButtonIcon/index.html b/ej2-angular/samples/ribbon/GroupButtonIcon/index.html
index e56268b5666..6dc4c03d5bd 100644
--- a/ej2-angular/samples/ribbon/GroupButtonIcon/index.html
+++ b/ej2-angular/samples/ribbon/GroupButtonIcon/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/GroupButtonSelected/index.html b/ej2-angular/samples/ribbon/GroupButtonSelected/index.html
index 1f8e2cfb722..8ebc316c90c 100644
--- a/ej2-angular/samples/ribbon/GroupButtonSelected/index.html
+++ b/ej2-angular/samples/ribbon/GroupButtonSelected/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/GroupIcon/index.html b/ej2-angular/samples/ribbon/GroupIcon/index.html
index 34f40929e4f..a5be9484ca9 100644
--- a/ej2-angular/samples/ribbon/GroupIcon/index.html
+++ b/ej2-angular/samples/ribbon/GroupIcon/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/GroupOverflow/index.html b/ej2-angular/samples/ribbon/GroupOverflow/index.html
index d6fcd483afb..79a0db60f57 100644
--- a/ej2-angular/samples/ribbon/GroupOverflow/index.html
+++ b/ej2-angular/samples/ribbon/GroupOverflow/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Groups/index.html b/ej2-angular/samples/ribbon/Groups/index.html
index 2142ed480aa..9e69496f175 100644
--- a/ej2-angular/samples/ribbon/Groups/index.html
+++ b/ej2-angular/samples/ribbon/Groups/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/HeaderText/index.html b/ej2-angular/samples/ribbon/HeaderText/index.html
index 32a331387b1..be9d0ea2a2c 100644
--- a/ej2-angular/samples/ribbon/HeaderText/index.html
+++ b/ej2-angular/samples/ribbon/HeaderText/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/HelpPaneTemplate/index.html b/ej2-angular/samples/ribbon/HelpPaneTemplate/index.html
index 01283b845ad..128e135b5f4 100644
--- a/ej2-angular/samples/ribbon/HelpPaneTemplate/index.html
+++ b/ej2-angular/samples/ribbon/HelpPaneTemplate/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/HideLayoutSwitcher/index.html b/ej2-angular/samples/ribbon/HideLayoutSwitcher/index.html
index db0859121e0..be6b538c950 100644
--- a/ej2-angular/samples/ribbon/HideLayoutSwitcher/index.html
+++ b/ej2-angular/samples/ribbon/HideLayoutSwitcher/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Items/index.html b/ej2-angular/samples/ribbon/Items/index.html
index f2500c97b34..4f5d0b6b67c 100644
--- a/ej2-angular/samples/ribbon/Items/index.html
+++ b/ej2-angular/samples/ribbon/Items/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/ItemsSize/index.html b/ej2-angular/samples/ribbon/ItemsSize/index.html
index 373fc21d81c..e0430d5f13c 100644
--- a/ej2-angular/samples/ribbon/ItemsSize/index.html
+++ b/ej2-angular/samples/ribbon/ItemsSize/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Keytip/backstage-keytip/index.html b/ej2-angular/samples/ribbon/Keytip/backstage-keytip/index.html
index fe33adbea58..064580803cb 100644
--- a/ej2-angular/samples/ribbon/Keytip/backstage-keytip/index.html
+++ b/ej2-angular/samples/ribbon/Keytip/backstage-keytip/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Keytip/filemenu-keytip/index.html b/ej2-angular/samples/ribbon/Keytip/filemenu-keytip/index.html
index 0162f7af147..a9d3a5bfb5a 100644
--- a/ej2-angular/samples/ribbon/Keytip/filemenu-keytip/index.html
+++ b/ej2-angular/samples/ribbon/Keytip/filemenu-keytip/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Keytip/item-keytip/index.html b/ej2-angular/samples/ribbon/Keytip/item-keytip/index.html
index e22e0362422..e8335c04d45 100644
--- a/ej2-angular/samples/ribbon/Keytip/item-keytip/index.html
+++ b/ej2-angular/samples/ribbon/Keytip/item-keytip/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Keytip/launcher-keytip/index.html b/ej2-angular/samples/ribbon/Keytip/launcher-keytip/index.html
index e79b31d304c..ca9b3cb18b2 100644
--- a/ej2-angular/samples/ribbon/Keytip/launcher-keytip/index.html
+++ b/ej2-angular/samples/ribbon/Keytip/launcher-keytip/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Keytip/layout-keytip/index.html b/ej2-angular/samples/ribbon/Keytip/layout-keytip/index.html
index e7afcd8823e..0692a5c96ed 100644
--- a/ej2-angular/samples/ribbon/Keytip/layout-keytip/index.html
+++ b/ej2-angular/samples/ribbon/Keytip/layout-keytip/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/LauncherIcon/index.html b/ej2-angular/samples/ribbon/LauncherIcon/index.html
index 7a8ebb72601..ee04b59a31d 100644
--- a/ej2-angular/samples/ribbon/LauncherIcon/index.html
+++ b/ej2-angular/samples/ribbon/LauncherIcon/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/MenuItems/index.html b/ej2-angular/samples/ribbon/MenuItems/index.html
index bbf3830c8ec..98bce9ccebd 100644
--- a/ej2-angular/samples/ribbon/MenuItems/index.html
+++ b/ej2-angular/samples/ribbon/MenuItems/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Minimize/index.html b/ej2-angular/samples/ribbon/Minimize/index.html
index e7880147afb..f33415b2516 100644
--- a/ej2-angular/samples/ribbon/Minimize/index.html
+++ b/ej2-angular/samples/ribbon/Minimize/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/MultipleSelection/index.html b/ej2-angular/samples/ribbon/MultipleSelection/index.html
index 040b062826b..1dce79f4003 100644
--- a/ej2-angular/samples/ribbon/MultipleSelection/index.html
+++ b/ej2-angular/samples/ribbon/MultipleSelection/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Orientation/index.html b/ej2-angular/samples/ribbon/Orientation/index.html
index 34b9ba1ff43..656577739b3 100644
--- a/ej2-angular/samples/ribbon/Orientation/index.html
+++ b/ej2-angular/samples/ribbon/Orientation/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Priority/index.html b/ej2-angular/samples/ribbon/Priority/index.html
index d8e94df1caf..48a5c74bed8 100644
--- a/ej2-angular/samples/ribbon/Priority/index.html
+++ b/ej2-angular/samples/ribbon/Priority/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Separator/index.html b/ej2-angular/samples/ribbon/Separator/index.html
index 6618dca6d6f..ba9d5d71c77 100644
--- a/ej2-angular/samples/ribbon/Separator/index.html
+++ b/ej2-angular/samples/ribbon/Separator/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Simplified/index.html b/ej2-angular/samples/ribbon/Simplified/index.html
index d986bc1971c..bbfa8d726b9 100644
--- a/ej2-angular/samples/ribbon/Simplified/index.html
+++ b/ej2-angular/samples/ribbon/Simplified/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/SimplifiedModeGroupButton/index.html b/ej2-angular/samples/ribbon/SimplifiedModeGroupButton/index.html
index 5301d3e18df..24f923e20ca 100644
--- a/ej2-angular/samples/ribbon/SimplifiedModeGroupButton/index.html
+++ b/ej2-angular/samples/ribbon/SimplifiedModeGroupButton/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/SingleSelection/index.html b/ej2-angular/samples/ribbon/SingleSelection/index.html
index 0ae327f926c..5fde04e9bdc 100644
--- a/ej2-angular/samples/ribbon/SingleSelection/index.html
+++ b/ej2-angular/samples/ribbon/SingleSelection/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/SplitButtonTarget/index.html b/ej2-angular/samples/ribbon/SplitButtonTarget/index.html
index bc006b84f16..5d0a60beef7 100644
--- a/ej2-angular/samples/ribbon/SplitButtonTarget/index.html
+++ b/ej2-angular/samples/ribbon/SplitButtonTarget/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/SubmenuOnClick/index.html b/ej2-angular/samples/ribbon/SubmenuOnClick/index.html
index b78e31d4e7d..08d22ec9f2d 100644
--- a/ej2-angular/samples/ribbon/SubmenuOnClick/index.html
+++ b/ej2-angular/samples/ribbon/SubmenuOnClick/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Tabs/index.html b/ej2-angular/samples/ribbon/Tabs/index.html
index 88647e97fd3..14ba28d8364 100644
--- a/ej2-angular/samples/ribbon/Tabs/index.html
+++ b/ej2-angular/samples/ribbon/Tabs/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Target/index.html b/ej2-angular/samples/ribbon/Target/index.html
index 91e2d1add64..6b028e3bb96 100644
--- a/ej2-angular/samples/ribbon/Target/index.html
+++ b/ej2-angular/samples/ribbon/Target/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Text/index.html b/ej2-angular/samples/ribbon/Text/index.html
index 3cc87a4b99a..78bfb1aa2b6 100644
--- a/ej2-angular/samples/ribbon/Text/index.html
+++ b/ej2-angular/samples/ribbon/Text/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Tooltip/index.html b/ej2-angular/samples/ribbon/Tooltip/index.html
index ab222c5ced3..e3817511977 100644
--- a/ej2-angular/samples/ribbon/Tooltip/index.html
+++ b/ej2-angular/samples/ribbon/Tooltip/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/TooltipContent/index.html b/ej2-angular/samples/ribbon/TooltipContent/index.html
index fe69d8d9fca..26e99c56a19 100644
--- a/ej2-angular/samples/ribbon/TooltipContent/index.html
+++ b/ej2-angular/samples/ribbon/TooltipContent/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/TooltipCustomization/index.html b/ej2-angular/samples/ribbon/TooltipCustomization/index.html
index 9a64f740cba..39e764117ef 100644
--- a/ej2-angular/samples/ribbon/TooltipCustomization/index.html
+++ b/ej2-angular/samples/ribbon/TooltipCustomization/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/TooltipTitle/index.html b/ej2-angular/samples/ribbon/TooltipTitle/index.html
index 598ee932026..0492197a8db 100644
--- a/ej2-angular/samples/ribbon/TooltipTitle/index.html
+++ b/ej2-angular/samples/ribbon/TooltipTitle/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/Visibility/index.html b/ej2-angular/samples/ribbon/Visibility/index.html
index 45f6b14b019..227731035ef 100644
--- a/ej2-angular/samples/ribbon/Visibility/index.html
+++ b/ej2-angular/samples/ribbon/Visibility/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/dropdownPopup/index.html b/ej2-angular/samples/ribbon/dropdownPopup/index.html
index f489283b799..c6ef197f633 100644
--- a/ej2-angular/samples/ribbon/dropdownPopup/index.html
+++ b/ej2-angular/samples/ribbon/dropdownPopup/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/gallery/classCustomization/index.html b/ej2-angular/samples/ribbon/gallery/classCustomization/index.html
index 37f85accaa5..269bdc564e7 100644
--- a/ej2-angular/samples/ribbon/gallery/classCustomization/index.html
+++ b/ej2-angular/samples/ribbon/gallery/classCustomization/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/gallery/disabledItem/index.html b/ej2-angular/samples/ribbon/gallery/disabledItem/index.html
index 8ccf87b366e..404b8a19de2 100644
--- a/ej2-angular/samples/ribbon/gallery/disabledItem/index.html
+++ b/ej2-angular/samples/ribbon/gallery/disabledItem/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/gallery/galleryIcon/index.html b/ej2-angular/samples/ribbon/gallery/galleryIcon/index.html
index 4276b80cf28..d76b08fd1da 100644
--- a/ej2-angular/samples/ribbon/gallery/galleryIcon/index.html
+++ b/ej2-angular/samples/ribbon/gallery/galleryIcon/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/gallery/galleryItems/index.html b/ej2-angular/samples/ribbon/gallery/galleryItems/index.html
index 8bb4d7f8039..97dde5be1a1 100644
--- a/ej2-angular/samples/ribbon/gallery/galleryItems/index.html
+++ b/ej2-angular/samples/ribbon/gallery/galleryItems/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/gallery/galleryTemplate/index.html b/ej2-angular/samples/ribbon/gallery/galleryTemplate/index.html
index b80c1e4ff55..7f5f03007de 100644
--- a/ej2-angular/samples/ribbon/gallery/galleryTemplate/index.html
+++ b/ej2-angular/samples/ribbon/gallery/galleryTemplate/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/gallery/groupCustomization/index.html b/ej2-angular/samples/ribbon/gallery/groupCustomization/index.html
index 0cf5f1d4800..ea82fd33cad 100644
--- a/ej2-angular/samples/ribbon/gallery/groupCustomization/index.html
+++ b/ej2-angular/samples/ribbon/gallery/groupCustomization/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/gallery/htmlAttributes/index.html b/ej2-angular/samples/ribbon/gallery/htmlAttributes/index.html
index 620e251cb40..60f9e48d8f3 100644
--- a/ej2-angular/samples/ribbon/gallery/htmlAttributes/index.html
+++ b/ej2-angular/samples/ribbon/gallery/htmlAttributes/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/gallery/itemContent/index.html b/ej2-angular/samples/ribbon/gallery/itemContent/index.html
index 8bb4d7f8039..97dde5be1a1 100644
--- a/ej2-angular/samples/ribbon/gallery/itemContent/index.html
+++ b/ej2-angular/samples/ribbon/gallery/itemContent/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/gallery/itemCount/index.html b/ej2-angular/samples/ribbon/gallery/itemCount/index.html
index 0c97230e127..c6e88101b89 100644
--- a/ej2-angular/samples/ribbon/gallery/itemCount/index.html
+++ b/ej2-angular/samples/ribbon/gallery/itemCount/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/gallery/itemHeightAndWidth/index.html b/ej2-angular/samples/ribbon/gallery/itemHeightAndWidth/index.html
index 0b3f9b8e2aa..5ea437ee753 100644
--- a/ej2-angular/samples/ribbon/gallery/itemHeightAndWidth/index.html
+++ b/ej2-angular/samples/ribbon/gallery/itemHeightAndWidth/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/gallery/popupHeightWidth/index.html b/ej2-angular/samples/ribbon/gallery/popupHeightWidth/index.html
index 428f7d30b8a..11c3b4b7eb6 100644
--- a/ej2-angular/samples/ribbon/gallery/popupHeightWidth/index.html
+++ b/ej2-angular/samples/ribbon/gallery/popupHeightWidth/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/gallery/selectedItemIndex/index.html b/ej2-angular/samples/ribbon/gallery/selectedItemIndex/index.html
index 5cb4dfb9a9c..cf5a747429b 100644
--- a/ej2-angular/samples/ribbon/gallery/selectedItemIndex/index.html
+++ b/ej2-angular/samples/ribbon/gallery/selectedItemIndex/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/samples/ribbon/getting-started-cs1/index.html b/ej2-angular/samples/ribbon/getting-started-cs1/index.html
index 42d96131fa1..182030e922d 100644
--- a/ej2-angular/samples/ribbon/getting-started-cs1/index.html
+++ b/ej2-angular/samples/ribbon/getting-started-cs1/index.html
@@ -6,7 +6,7 @@
-
+
diff --git a/ej2-angular/schedule/accessibility.md b/ej2-angular/schedule/accessibility.md
index 9f407fb2aba..33850d1efa2 100644
--- a/ej2-angular/schedule/accessibility.md
+++ b/ej2-angular/schedule/accessibility.md
@@ -18,8 +18,8 @@ The accessibility compliance for the Schedule component is outlined below.
| Accessibility Criteria | Compatibility |
| -- | -- |
-| [WCAG 2.2](https://www.w3.org/TR/WCAG22/) Support | |
-| [Section 508](https://www.section508.gov/) Support | |
+| [WCAG 2.2](https://www.w3.org/TR/WCAG22) Support | |
+| [Section 508](https://www.section508.gov) Support | |
| Screen Reader Support | |
| Right-To-Left Support | |
| Color Contrast | |
diff --git a/ej2-angular/schedule/appointments.md b/ej2-angular/schedule/appointments.md
index e797352a538..d3e57746d0c 100644
--- a/ej2-angular/schedule/appointments.md
+++ b/ej2-angular/schedule/appointments.md
@@ -51,7 +51,7 @@ Spanned events are appointments created for durations longer than 24 hours and a
Represents an appointment that is created for an entire day such as holiday events. It is usually displayed separately in an all-day row, a separate row for all-day appointments below the date header section. In Timeline views, the all-day appointments displays in the working space area, and no separate all-day row is present in that view.
-> To set a normal appointment as an all-day event, set the[`isAllDay`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#isallday) field to `true`.
+> To set a normal appointment as an all-day event, set the[`isAllDay`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#isallday) field to `true`.
### Hiding all-day row events
@@ -69,7 +69,7 @@ Use CSS customization to hide all-day row appointments in the Scheduler UI.
### Expanding all-day appointments view on load
-To display all all-day appointments in expanded view when the Scheduler loads, use the [`dataBound`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#databound) event. This eliminates the need to manually expand all-day events.
+To display all all-day appointments in expanded view when the Scheduler loads, use the [`dataBound`](https://ej2.syncfusion.com/angular/documentation/api/schedule#databound) event. This eliminates the need to manually expand all-day events.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -85,7 +85,7 @@ To display all all-day appointments in expanded view when the Scheduler loads, u
## Customize the rendering of spanned events
-By default, Scheduler will renders the spanned events (appointment with more than 24 hours duration) in the all-day row by setting `AllDayRow` will the default type renders to the [`spannedEventPlacement`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#spannedeventplacement) option within the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/) property. Now we can customize rendering of the that events inside the work cells itself by modifying the [`spannedEventPlacement`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#spannedeventplacement) option as `TimeSlot`. In this following example, shows how to render the spanned appointments inside the work cells as follows.
+By default, Scheduler will renders the spanned events (appointment with more than 24 hours duration) in the all-day row by setting `AllDayRow` will the default type renders to the [`spannedEventPlacement`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#spannedeventplacement) option within the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings) property. Now we can customize rendering of the that events inside the work cells itself by modifying the [`spannedEventPlacement`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#spannedeventplacement) option as `TimeSlot`. In this following example, shows how to render the spanned appointments inside the work cells as follows.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -121,9 +121,9 @@ The following example illustrates creating a recurring event using a specific re
### Adding exceptions
-To exclude specific instances from a recurrence series, add the exception dates to the [`recurrenceException`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrenceexception) field in ISO date time format without hyphens.
+To exclude specific instances from a recurrence series, add the exception dates to the [`recurrenceException`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrenceexception) field in ISO date time format without hyphens.
-For example, February 22, 2018 is written as 20180222. The time portion in UTC should add "Z" at the end, such as "073000Z" for "07:30:00 UTC".
+For example, February 22, 2026 is written as 20260222. The time portion in UTC should add "Z" at the end, such as "073000Z" for "07:30:00 UTC".
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -139,9 +139,9 @@ For example, February 22, 2018 is written as 20180222. The time portion in UTC s
### Editing an occurrence from a series
-To dynamically edit a particular occurrence from an event series and display it on the initial load of Scheduler, the edited occurrence needs to be added as a new event to the dataSource collection, with an additional [`recurrenceID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrenceid) field defined to it. The [`recurrenceID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrenceid) field of edited occurrence usually maps the ID value of the parent event.
+To dynamically edit a particular occurrence from an event series and display it on the initial load of Scheduler, the edited occurrence needs to be added as a new event to the dataSource collection, with an additional [`recurrenceID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrenceid) field defined to it. The [`recurrenceID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrenceid) field of edited occurrence usually maps the ID value of the parent event.
-In this example, a recurring instance that displays on the date 30th Jan 2018 is edited with different timings. Therefore, this particular date is excluded from the parent recurring event that repeats from 28th January 2018 to 4th February 2018. This can be done by adding the [`recurrenceException`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrenceexception) field with the excluded date value on the parent event. Also, the edited occurrence event which is created as a new event should carry the [`recurrenceID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrenceid) field pointing to the parent event's [`Id`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#id) value.
+In this example, a recurring instance that displays on the date 30th Jan 2018 is edited with different timings. Therefore, this particular date is excluded from the parent recurring event that repeats from 28th January 2018 to 4th February 2018. This can be done by adding the [`recurrenceException`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrenceexception) field with the excluded date value on the parent event. Also, the edited occurrence event which is created as a new event should carry the [`recurrenceID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrenceid) field pointing to the parent event's [`Id`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#id) value.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -157,9 +157,9 @@ In this example, a recurring instance that displays on the date 30th Jan 2018 is
### Edit only the current and following events
-To edit only the current and following events enable the property [`editFollowingEvents`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#editfollowingevents) within [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/) property. The edited occurrence needs to be added as a new event to the dataSource collection, with an additional [`followingID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#followingid) field defined to it. The [`followingID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#followingid) field of edited occurrence usually maps the ID value of the immediate parent event.
+To edit only the current and following events enable the property [`editFollowingEvents`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#editfollowingevents) within [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings) property. The edited occurrence needs to be added as a new event to the dataSource collection, with an additional [`followingID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#followingid) field defined to it. The [`followingID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#followingid) field of edited occurrence usually maps the ID value of the immediate parent event.
-In this example, a recurring instance that displays on the date 30th Jan 2018 and its following dates are edited with different subject. Therefore, this particular date and its following dates are excluded from the parent recurring event that repeats from 28th January 2018 to 4th February 2018. This can be done by updating the [`recurrenceRule`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrencerule)field with the until date value on the parent event. Also, the edited events which is created as a new event should carry the [`followingID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#followingid) field pointing to the immediate parent event's [`Id`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#id) value.
+In this example, a recurring instance that displays on the date 30th Jan 2018 and its following dates are edited with different subject. Therefore, this particular date and its following dates are excluded from the parent recurring event that repeats from 28th January 2018 to 4th February 2018. This can be done by updating the [`recurrenceRule`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrencerule)field with the until date value on the parent event. Also, the edited events which is created as a new event should carry the [`followingID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#followingid) field pointing to the immediate parent event's [`Id`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#id) value.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -177,7 +177,7 @@ In this example, a recurring instance that displays on the date 30th Jan 2018 an
### Recurrence options and rules
-Events can be repeated on a daily, weekly, monthly or yearly basis based on the recurrence rule which accepts the string value. The following details should be assigned to the [`recurrenceRule`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrencerule) property to generate the recurring instances.
+Events can be repeated on a daily, weekly, monthly or yearly basis based on the recurrence rule which accepts the string value. The following details should be assigned to the [`recurrenceRule`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrencerule) property to generate the recurring instances.
* Repeat type - daily/weekly/monthly/yearly.
* How many times it needs to be repeated?
@@ -264,9 +264,9 @@ The built-in validation support has been added by default for recurring appointm
## Event fields
-The Scheduler's dataSource usually holds the event instances, where each of the instance includes a collection of appropriate [fields](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/). It is mandatory to map these fields with the equivalent fields of database, when remote data is bound to it. When the local JSON data is bound, then the field names defined within the instances needs to be mapped with the scheduler event fields correctly.
+The Scheduler's dataSource usually holds the event instances, where each of the instance includes a collection of appropriate [fields](https://ej2.syncfusion.com/angular/documentation/api/schedule/field). It is mandatory to map these fields with the equivalent fields of database, when remote data is bound to it. When the local JSON data is bound, then the field names defined within the instances needs to be mapped with the scheduler event fields correctly.
-> To create an event, both [`startTime`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#starttime) and [`endTime`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#endtime) are required. The [`id`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#id) field is mandatory for all CRUD actions.
+> To create an event, both [`startTime`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#starttime) and [`endTime`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#endtime) are required. The [`id`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#id) field is mandatory for all CRUD actions.
### Built-in fields
@@ -274,24 +274,24 @@ The built-in fields available on Scheduler event object are as follows.
| Field name | Description |
|----------------|-------------|
-| id | The [`id`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#id) field needs to be defined as mandatory and this field usually assigns a unique ID value to each of the events.|
-| subject | The [`subject`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#subject) field is optional, and usually assigns the summary text to each of the events.|
-| startTime | The [`startTime`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#starttime) field defines the start time of an event and it is mandatory to provide it for any of the valid event objects.|
-| endTime | The [`endTime`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#endtime) field defines the end time of an event and it is mandatory to provide the end time for any of the valid event objects.|
-| startTimezone | It maps the [`startTimezone`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#starttimezone) field from the dataSource and usually accepts the valid IANA timezone names. It is assumed that the value provided for this field is taken into consideration while processing the `startTime` field. When this field is not mapped with any timezone names, then the events will be processed based on the timezone assigned to the Scheduler.|
-| endTimezone | It maps the [`endTimezone`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#endtimezone) field from the dataSource and usually accepts the valid IANA timezone names. It is assumed that the value provided for this field is taken into consideration while processing the `endTime` field. When this field is not mapped with any timezone names, then the events will be processed based on the timezone assigned to the Scheduler.|
-| location | It maps the [`location`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#location) field from the dataSource and the location text value will be displayed over the events.|
-| description | It maps the [`description`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#description) field from the dataSource and denotes the event description which is optional.|
-| isAllDay | The [`isAllDay`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#isallday) field is mapped from the dataSource and is used to denote whether an event is created for an entire day or for specific time alone. Usually, an event with `isAllDay` field set to true will be considered as an all-day event. |
-| recurrenceID | It maps the [`recurrenceID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrenceid) field from dataSource and usually holds the ID value of the parent recurrence event. This field is applicable only for the edited occurrence events.|
-| recurrenceRule | It maps the [`recurrenceRule`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrencerule) field from dataSource and holds the recurrence rule value in a string format. Also, it uniquely identifies whether the event belongs to a recurring type or normal ones. |
-| recurrenceException | It maps the [`recurrenceException`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrenceexception) field from dataSource and is used to hold the collection of exception dates, on which the recurring occurrences needs to be excluded. The `recurrenceException` should be specified in UTC format. |
-| isReadonly | It maps the [`isReadonly`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#isreadonly) field from dataSource. It is mainly used to make specific appointments as readonly when set to `true`. |
-| isBlock | It maps the [`isBlock`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#isblock) field from dataSource. It is used to block the particular time ranges in the Scheduler and prevents the event creation on those time slots. |
+| id | The [`id`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#id) field needs to be defined as mandatory and this field usually assigns a unique ID value to each of the events.|
+| subject | The [`subject`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#subject) field is optional, and usually assigns the summary text to each of the events.|
+| startTime | The [`startTime`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#starttime) field defines the start time of an event and it is mandatory to provide it for any of the valid event objects.|
+| endTime | The [`endTime`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#endtime) field defines the end time of an event and it is mandatory to provide the end time for any of the valid event objects.|
+| startTimezone | It maps the [`startTimezone`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#starttimezone) field from the dataSource and usually accepts the valid IANA timezone names. It is assumed that the value provided for this field is taken into consideration while processing the `startTime` field. When this field is not mapped with any timezone names, then the events will be processed based on the timezone assigned to the Scheduler.|
+| endTimezone | It maps the [`endTimezone`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#endtimezone) field from the dataSource and usually accepts the valid IANA timezone names. It is assumed that the value provided for this field is taken into consideration while processing the `endTime` field. When this field is not mapped with any timezone names, then the events will be processed based on the timezone assigned to the Scheduler.|
+| location | It maps the [`location`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#location) field from the dataSource and the location text value will be displayed over the events.|
+| description | It maps the [`description`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#description) field from the dataSource and denotes the event description which is optional.|
+| isAllDay | The [`isAllDay`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#isallday) field is mapped from the dataSource and is used to denote whether an event is created for an entire day or for specific time alone. Usually, an event with `isAllDay` field set to true will be considered as an all-day event. |
+| recurrenceID | It maps the [`recurrenceID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrenceid) field from dataSource and usually holds the ID value of the parent recurrence event. This field is applicable only for the edited occurrence events.|
+| recurrenceRule | It maps the [`recurrenceRule`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrencerule) field from dataSource and holds the recurrence rule value in a string format. Also, it uniquely identifies whether the event belongs to a recurring type or normal ones. |
+| recurrenceException | It maps the [`recurrenceException`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrenceexception) field from dataSource and is used to hold the collection of exception dates, on which the recurring occurrences needs to be excluded. The `recurrenceException` should be specified in UTC format. |
+| isReadonly | It maps the [`isReadonly`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#isreadonly) field from dataSource. It is mainly used to make specific appointments as readonly when set to `true`. |
+| isBlock | It maps the [`isBlock`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#isblock) field from dataSource. It is used to block the particular time ranges in the Scheduler and prevents the event creation on those time slots. |
### Binding different field names
-When the fields of event instances has the default mapping name, it is not mandatory to map them manually. If a Scheduler's dataSource holds the events collection with different field names, then it is necessary to map them with its equivalent field name within the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/) property.
+When the fields of event instances has the default mapping name, it is not mandatory to map them manually. If a Scheduler's dataSource holds the events collection with different field names, then it is necessary to map them with its equivalent field name within the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings) property.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -305,7 +305,7 @@ When the fields of event instances has the default mapping name, it is not manda
{% previewsample "page.domainurl/samples/schedule/default-cs8" %}
-> The [`id`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#id) mapping is a string type with no extra validation, while other fields have object type and additional options.
+> The [`id`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#id) mapping is a string type with no extra validation, while other fields have object type and additional options.
### Event field settings
@@ -334,7 +334,7 @@ In following example, the Subject field in event editor will display its appropr
## Adding custom fields
-In addition to default fields, you can add any number of custom fields to Scheduler appointments. For example, the code below adds **Status** and **Priority**. Custom fields don't need to be mapped in [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/), but can be accessed for internal processing or application logic.
+In addition to default fields, you can add any number of custom fields to Scheduler appointments. For example, the code below adds **Status** and **Priority**. Custom fields don't need to be mapped in [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings), but can be accessed for internal processing or application logic.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -350,7 +350,7 @@ In addition to default fields, you can add any number of custom fields to Schedu
## Customize the order of overlapping events
-By default, overlapping appointments are rendered sequentially based on their start and end times. Use the [`sortComparer`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#sortcomparer) property within [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/) to customize their sorting order, for example by a custom field.
+By default, overlapping appointments are rendered sequentially based on their start and end times. Use the [`sortComparer`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#sortcomparer) property within [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings) to customize their sorting order, for example by a custom field.
The following code example shows how to sort the appointments based on the custom field as follows.
@@ -370,11 +370,11 @@ The following code example shows how to sort the appointments based on the custo
## Preventing Overlapping Events
-By default, the scheduler displays overlapping events according to their start and end times. To prevent overlapping, you can set the [`allowOverlap`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#allowoverlap) property to `false`.
+By default, the scheduler displays overlapping events according to their start and end times. To prevent overlapping, you can set the [`allowOverlap`](https://ej2.syncfusion.com/angular/documentation/api/schedule#allowoverlap) property to `false`.
-When this property is set to `false`, any new or updated events that overlap with existing ones will trigger an overlap alert. The overlapping events will be collected in the [`overlapEvents`](https://ej2.syncfusion.com/angular/documentation/api/schedule/popupOpenEventArgs/#overlapevents) within the [`PopupOpenEventArgs`](https://ej2.syncfusion.com/angular/documentation/api/schedule/popupOpenEventArgs/).
+When this property is set to `false`, any new or updated events that overlap with existing ones will trigger an overlap alert. The overlapping events will be collected in the [`overlapEvents`](https://ej2.syncfusion.com/angular/documentation/api/schedule/popupOpenEventArgs#overlapevents) within the [`PopupOpenEventArgs`](https://ej2.syncfusion.com/angular/documentation/api/schedule/popupOpenEventArgs).
-When the [`allowOverlap`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#allowoverlap) property is set to `false`, the scheduler behaves as follows:
+When the [`allowOverlap`](https://ej2.syncfusion.com/angular/documentation/api/schedule#allowoverlap) property is set to `false`, the scheduler behaves as follows:
**Initial Load Behavior:** Upon initial loading, the scheduler prioritizes non-overlapping events based on their duration and all-day status. Events with longer durations and those marked as all-day receive higher priority to ensure there are no overlaps.
@@ -384,7 +384,7 @@ When the [`allowOverlap`](https://ej2.syncfusion.com/angular/documentation/api/s
**Dynamic Recurrence Series Creation or Editing:** When a user creates or edits a recurrence series dynamically, the scheduler will prevent any occurrences of the series from being added if a conflict is found within the series.
-The following code example demonstrates how to enable the [`allowOverlap`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#allowoverlap) property.
+The following code example demonstrates how to enable the [`allowOverlap`](https://ej2.syncfusion.com/angular/documentation/api/schedule#allowoverlap) property.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -400,11 +400,11 @@ The following code example demonstrates how to enable the [`allowOverlap`](https
**Limitations**
-The [`allowOverlap`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#allowoverlap) property checks for event overlaps only within the currently visible date range. Events scheduled outside the rendered date range are not included in the overlap check by default.
+The [`allowOverlap`](https://ej2.syncfusion.com/angular/documentation/api/schedule#allowoverlap) property checks for event overlaps only within the currently visible date range. Events scheduled outside the rendered date range are not included in the overlap check by default.
-If you need to check for overlaps with events outside the visible date range, you can leverage the [`promise`](https://ej2.syncfusion.com/angular/documentation/api/schedule/actionEventArgs/#promise) field within the [`actionBegin`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#actionbegin) event to validate all events before proceeding. By implementing a custom validation method inside the [`actionBegin`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#actionbegin) event, you can assign the result (a boolean) to the [`promise`](https://ej2.syncfusion.com/angular/documentation/api/schedule/actionEventArgs/#promise) field. If the result is `true`, the action (e.g., adding or saving the event) will proceed; if `false`, the action will be blocked.
+If you need to check for overlaps with events outside the visible date range, you can leverage the [`promise`](https://ej2.syncfusion.com/angular/documentation/api/schedule/actionEventArgs#promise) field within the [`actionBegin`](https://ej2.syncfusion.com/angular/documentation/api/schedule#actionbegin) event to validate all events before proceeding. By implementing a custom validation method inside the [`actionBegin`](https://ej2.syncfusion.com/angular/documentation/api/schedule#actionbegin) event, you can assign the result (a boolean) to the [`promise`](https://ej2.syncfusion.com/angular/documentation/api/schedule/actionEventArgs#promise) field. If the result is `true`, the action (e.g., adding or saving the event) will proceed; if `false`, the action will be blocked.
-Additionally, you can use the public method [`openOverlapAlert`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#openoverlapalert) to show an alert popup whenever an overlap occurs and the result is `false`.
+Additionally, you can use the public method [`openOverlapAlert`](https://ej2.syncfusion.com/angular/documentation/api/schedule#openoverlapalert) to show an alert popup whenever an overlap occurs and the result is `false`.
The following code example demonstrates how to check for overlaps when an event is added. If an overlap is found, the event won't be added, and an alert will be shown.
@@ -422,7 +422,7 @@ The following code example demonstrates how to check for overlaps when an event
## Drag and drop appointments
-Reschedule appointments by dragging and dropping them. Inject the `DragAndDrop` module and set [`allowDragAndDrop`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#allowdraganddrop) to `true`. In mobile mode, you can drag and drop the events by tap holding an event and dropping them on to the desired location.
+Reschedule appointments by dragging and dropping them. Inject the `DragAndDrop` module and set [`allowDragAndDrop`](https://ej2.syncfusion.com/angular/documentation/api/schedule#allowdraganddrop) to `true`. In mobile mode, you can drag and drop the events by tap holding an event and dropping them on to the desired location.
Learn more about dragging external items and advanced drag/resize options in this video:
@@ -444,7 +444,7 @@ Learn more about dragging external items and advanced drag/resize options in thi
### Drag and drop multiple appointments
-We can drag and drop multiple appointments by enabling the [`allowMultiDrag`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#allowmultidrag) property. We can select multiple appointments by holding the CTRL key. Once the events are selected, we can leave the CTRL key and start dragging the event.
+We can drag and drop multiple appointments by enabling the [`allowMultiDrag`](https://ej2.syncfusion.com/angular/documentation/api/schedule#allowmultidrag) property. We can select multiple appointments by holding the CTRL key. Once the events are selected, we can leave the CTRL key and start dragging the event.
> Multiple event drag is not supported on mobile devices.
@@ -462,7 +462,7 @@ We can drag and drop multiple appointments by enabling the [`allowMultiDrag`](ht
### Disabling drag action
-To disable drag and drop, set [`allowDragAndDrop`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#allowdraganddrop) to `false`.
+To disable drag and drop, set [`allowDragAndDrop`](https://ej2.syncfusion.com/angular/documentation/api/schedule#allowdraganddrop) to `false`.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -478,7 +478,7 @@ To disable drag and drop, set [`allowDragAndDrop`](https://ej2.syncfusion.com/an
### Preventing drag and drop on specific targets
-Use the [`excludeSelectors`](https://ej2.syncfusion.com/angular/documentation/api/schedule/dragEventArgs/#excludeselectors) property within the [`dragStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#dragstart) event to prevent dragging on specific targets, such as the all-day row.
+Use the [`excludeSelectors`](https://ej2.syncfusion.com/angular/documentation/api/schedule/dragEventArgs#excludeselectors) property within the [`dragStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule#dragstart) event to prevent dragging on specific targets, such as the all-day row.
In this example, we have prevented the drag action on all-day row.
@@ -496,7 +496,7 @@ In this example, we have prevented the drag action on all-day row.
### Disable scrolling on drag action
-By default, while dragging an appointment to the edges, either top or bottom of the Scheduler, scrolling action takes place automatically. To prevent this scrolling, set `false` to the [`scroll`](https://ej2.syncfusion.com/angular/documentation/api/schedule/dragEventArgs/#scroll) value within the [`dragStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#dragstart) event arguments.
+By default, while dragging an appointment to the edges, either top or bottom of the Scheduler, scrolling action takes place automatically. To prevent this scrolling, set `false` to the [`scroll`](https://ej2.syncfusion.com/angular/documentation/api/schedule/dragEventArgs#scroll) value within the [`dragStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule#dragstart) event arguments.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -512,7 +512,7 @@ By default, while dragging an appointment to the edges, either top or bottom of
### Controlling scroll speed while dragging
-The speed of the scrolling action while dragging an appointment to the Scheduler edges, can be controlled within the [`dragStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#dragstart) event by setting the desired value to the [`scrollBy`](https://ej2.syncfusion.com/angular/documentation/api/schedule/scrollOptions/#scrollby) and [`timeDelay`](https://ej2.syncfusion.com/angular/documentation/api/schedule/scrollOptions/#timedelay) option whereas its default value is 30 minutes and 100ms.
+The speed of the scrolling action while dragging an appointment to the Scheduler edges, can be controlled within the [`dragStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule#dragstart) event by setting the desired value to the [`scrollBy`](https://ej2.syncfusion.com/angular/documentation/api/schedule/scrollOptions#scrollby) and [`timeDelay`](https://ej2.syncfusion.com/angular/documentation/api/schedule/scrollOptions#timedelay) option whereas its default value is 30 minutes and 100ms.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -528,9 +528,9 @@ The speed of the scrolling action while dragging an appointment to the Scheduler
### Auto navigation of date ranges on dragging an event
-When an event is dragged either to the left or right extreme edges of the Scheduler and kept hold for few seconds without dropping, the auto navigation of date ranges will be enabled allowing the Scheduler to navigate from current date range to back and forth respectively. This action is set to `false` by default and to enable it, you need to set [`navigation`](https://ej2.syncfusion.com/angular/documentation/api/schedule/dragEventArgs/#navigation) to true within the [`dragStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#dragstart) event.
+When an event is dragged either to the left or right extreme edges of the Scheduler and kept hold for few seconds without dropping, the auto navigation of date ranges will be enabled allowing the Scheduler to navigate from current date range to back and forth respectively. This action is set to `false` by default and to enable it, you need to set [`navigation`](https://ej2.syncfusion.com/angular/documentation/api/schedule/dragEventArgs#navigation) to true within the [`dragStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule#dragstart) event.
-By default, the navigation delay is set to 2000ms. The navigation delay decides how long the user needs to drag and hold the appointments at the extremities. You can also set your own delay value for letting the users to navigate based on it, using the [`timeDelay`](https://ej2.syncfusion.com/angular/documentation/api/schedule/scrollOptions/#timedelay) within the [`dragStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#dragstart) event.
+By default, the navigation delay is set to 2000ms. The navigation delay decides how long the user needs to drag and hold the appointments at the extremities. You can also set your own delay value for letting the users to navigate based on it, using the [`timeDelay`](https://ej2.syncfusion.com/angular/documentation/api/schedule/scrollOptions#timedelay) within the [`dragStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule#dragstart) event.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -546,7 +546,7 @@ By default, the navigation delay is set to 2000ms. The navigation delay decides
### Setting drag time interval
-By default, while dragging an appointment, it moves at an interval of 30 minutes. To change the dragging time interval, pass the appropriate values to the [`interval`](https://ej2.syncfusion.com/angular/documentation/api/schedule/dragEventArgs/#interval) option within the [`dragStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#dragstart) event.
+By default, while dragging an appointment, it moves at an interval of 30 minutes. To change the dragging time interval, pass the appropriate values to the [`interval`](https://ej2.syncfusion.com/angular/documentation/api/schedule/dragEventArgs#interval) option within the [`dragStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule#dragstart) event.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -562,9 +562,9 @@ By default, while dragging an appointment, it moves at an interval of 30 minutes
### Drag and drop items from external source
-It is possible to drag and drop the unplanned items from any of the external source into the scheduler, by manually saving those dropped item as a new appointment data through [`addEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#addevent) method of Scheduler.
+It is possible to drag and drop the unplanned items from any of the external source into the scheduler, by manually saving those dropped item as a new appointment data through [`addEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule#addevent) method of Scheduler.
-In this example, we have used the tree view control as an external source and the child nodes from the tree view component are dragged and dropped onto the Scheduler. Therefore, it is necessary to make use of the [`nodeDragStop`](https://ej2.syncfusion.com/angular/documentation/api/treeview/#nodedragstop) event of the TreeView component, where we can form an event object and save it using the [`addEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#addevent) method.
+In this example, we have used the tree view control as an external source and the child nodes from the tree view component are dragged and dropped onto the Scheduler. Therefore, it is necessary to make use of the [`nodeDragStop`](https://ej2.syncfusion.com/angular/documentation/api/treeview#nodedragstop) event of the TreeView component, where we can form an event object and save it using the [`addEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule#addevent) method.
{% tabs %}
{% highlight html tabtitle="app.component.html" %}
@@ -583,7 +583,7 @@ In this example, we have used the tree view control as an external source and th
### Opening the editor window on drag stop
-There are scenarios where you want to open the editor filled with data on newly dropped location and may need to proceed to save it, only when `Save` button is clicked on the editor. On clicking the cancel button should revert these changes. This can be achieved using the [`dragStop`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#dragstop) event of Scheduler.
+There are scenarios where you want to open the editor filled with data on newly dropped location and may need to proceed to save it, only when `Save` button is clicked on the editor. On clicking the cancel button should revert these changes. This can be achieved using the [`dragStop`](https://ej2.syncfusion.com/angular/documentation/api/schedule#dragstop) event of Scheduler.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -607,7 +607,7 @@ To enable the inline edit mode, single click on any of the existing appointment
The inline option can be enabled/disabled on the Scheduler by using the allowInline API, whereas its default value is set to false.
-While using the [`allowInline`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#allowinline) the [`showQuickInfo`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#showquickinfo) will be turned off. The `quickPopup` will not show on clicking the work cell or clicking the appointment when the `allowInline` property is set to `true`.
+While using the [`allowInline`](https://ej2.syncfusion.com/angular/documentation/api/schedule#allowinline) the [`showQuickInfo`](https://ej2.syncfusion.com/angular/documentation/api/schedule#showquickinfo) will be turned off. The `quickPopup` will not show on clicking the work cell or clicking the appointment when the `allowInline` property is set to `true`.
In work cells, select multiple cells using keyboard, and then press enter key. The appointment wrapper will be created, and focus will be on the subject field. Also, consider the overlapping scenarios when creating an inline event.
### Normal Event
@@ -632,7 +632,7 @@ While editing the occurrence from the recurrence series, it is only possible to
## Appointment Resizing
-Another way of rescheduling an appointment can be done by resizing it through either of its handlers. To work with resizing functionality, it is necessary to inject the module `Resize` and make sure that [`allowResizing`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#allowresizing) property is set to `true`.
+Another way of rescheduling an appointment can be done by resizing it through either of its handlers. To work with resizing functionality, it is necessary to inject the module `Resize` and make sure that [`allowResizing`](https://ej2.syncfusion.com/angular/documentation/api/schedule#allowresizing) property is set to `true`.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -648,7 +648,7 @@ Another way of rescheduling an appointment can be done by resizing it through ei
### Disabling resize action
-Resize is enabled by default except in Agenda and Month-Agenda views. To disable, set [`allowResizing`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#allowresizing) to `false`.
+Resize is enabled by default except in Agenda and Month-Agenda views. To disable, set [`allowResizing`](https://ej2.syncfusion.com/angular/documentation/api/schedule#allowresizing) to `false`.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -664,7 +664,7 @@ Resize is enabled by default except in Agenda and Month-Agenda views. To disable
### Disabling scrolling on resize action
-To prevent automatic scrolling during resizing, set [`scroll`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resizeEventArgs/#scroll) to `false` in the [`resizeStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#resizestart) event.
+To prevent automatic scrolling during resizing, set [`scroll`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resizeEventArgs#scroll) to `false` in the [`resizeStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule#resizestart) event.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -680,7 +680,7 @@ To prevent automatic scrolling during resizing, set [`scroll`](https://ej2.syncf
### Controlling scroll speed while resizing an event
-Control the scroll speed using [`scrollBy`](https://ej2.syncfusion.com/angular/documentation/api/schedule/scrollOptions/#scrollby) in the [`resizeStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#resizestart) event.
+Control the scroll speed using [`scrollBy`](https://ej2.syncfusion.com/angular/documentation/api/schedule/scrollOptions#scrollby) in the [`resizeStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule#resizestart) event.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -696,7 +696,7 @@ Control the scroll speed using [`scrollBy`](https://ej2.syncfusion.com/angular/d
### Setting resize time interval
-By default, while resizing an appointment, it extends or shrinks at an interval of 30 minutes. To change this default resize interval, set appropriate values to [`interval`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resizeEventArgs/#interval) option within the [`resizeStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#resizestart) event.
+By default, while resizing an appointment, it extends or shrinks at an interval of 30 minutes. To change this default resize interval, set appropriate values to [`interval`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resizeEventArgs#interval) option within the [`resizeStart`](https://ej2.syncfusion.com/angular/documentation/api/schedule#resizestart) event.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -720,7 +720,7 @@ Scheduler events can be customized using one of the following:
### Using template
-Incorporate text, images, and links using the [`template`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#template) property under [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/). The following example demonstrates changing an event's color and time format.
+Incorporate text, images, and links using the [`template`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#template) property under [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings). The following example demonstrates changing an event's color and time format.
Learn how easily you can customize the basic look and feel of Angular Scheduler appointments using its built-in ng-template option from this video:
@@ -741,11 +741,11 @@ Learn how easily you can customize the basic look and feel of Angular Scheduler
{% previewsample "page.domainurl/samples/schedule/event-cs7" %}
-> All the built-in fields that are mapped to the appropriate field properties within the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/), as well as custom mapped fields from the Scheduler dataSource can be accessed within the template code.
+> All the built-in fields that are mapped to the appropriate field properties within the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings), as well as custom mapped fields from the Scheduler dataSource can be accessed within the template code.
### Using eventRendered event
-The [`eventRendered`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#eventrendered) event triggers before the appointment renders on the Scheduler. Therefore, this client-side event can be utilized to customize the look of events based on any specific criteria, before rendering them on the scheduler.
+The [`eventRendered`](https://ej2.syncfusion.com/angular/documentation/api/schedule#eventrendered) event triggers before the appointment renders on the Scheduler. Therefore, this client-side event can be utilized to customize the look of events based on any specific criteria, before rendering them on the scheduler.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -761,7 +761,7 @@ The [`eventRendered`](https://ej2.syncfusion.com/angular/documentation/api/sched
### Using cssClass
-The customization of events can also be achieved using [`cssClass`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#cssclass) property of the Scheduler. In the following example, the background of appointments has been changed using the cssClass.
+The customization of events can also be achieved using [`cssClass`](https://ej2.syncfusion.com/angular/documentation/api/schedule#cssclass) property of the Scheduler. In the following example, the background of appointments has been changed using the cssClass.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -777,7 +777,7 @@ The customization of events can also be achieved using [`cssClass`](https://ej2.
## Setting minimum height
-It is possible to set minimal height for appointments on Scheduler using [`eventRendered`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#eventrendered) event, when its start and end time duration is less than the default duration of a single slot.
+It is possible to set minimal height for appointments on Scheduler using [`eventRendered`](https://ej2.syncfusion.com/angular/documentation/api/schedule#eventrendered) event, when its start and end time duration is less than the default duration of a single slot.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -793,7 +793,7 @@ It is possible to set minimal height for appointments on Scheduler using [`event
## Block Dates and Times
-It is possible to block a set of dates or a particular time ranges on the Scheduler. To do so, define an appointment object within [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/) along with the required time range to block and set the [`isBlock`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#isblock) field to true. Usually, the event objects defined with isBlock field set to true will block the entire time cells lying within the appropriate time ranges specified through [`startTime`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#starttime) and [`endTime`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#endtime) fields.
+It is possible to block a set of dates or a particular time ranges on the Scheduler. To do so, define an appointment object within [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings) along with the required time range to block and set the [`isBlock`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#isblock) field to true. Usually, the event objects defined with isBlock field set to true will block the entire time cells lying within the appropriate time ranges specified through [`startTime`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#starttime) and [`endTime`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#endtime) fields.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -827,7 +827,7 @@ Block events can also be defined to repeat on several days as shown in the follo
## Readonly
-An interaction with the appointments of Scheduler can be enabled/disabled using the [`readonly`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#readonly) property. With this property enabled, you can simply navigate between the Scheduler dates, views and can be able to view the appointment details in the quick info window. Most importantly, the users are not allowed to perform any CRUD actions on Scheduler, when this property is set to true. By default, it is set as `false`.
+An interaction with the appointments of Scheduler can be enabled/disabled using the [`readonly`](https://ej2.syncfusion.com/angular/documentation/api/schedule#readonly) property. With this property enabled, you can simply navigate between the Scheduler dates, views and can be able to view the appointment details in the quick info window. Most importantly, the users are not allowed to perform any CRUD actions on Scheduler, when this property is set to true. By default, it is set as `false`.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -843,7 +843,7 @@ An interaction with the appointments of Scheduler can be enabled/disabled using
## Make specific events readonly
-There are scenarios where you need to restrict the CRUD action on specific appointments alone based on certain conditions. In the following example, the events that has occurred on the past hours from the current date of the Scheduler are made as read-only and the CRUD actions has been prevented only on those appointments. This can be achieved by setting [`isReadonly`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#isreadonly) field of read-only events to `true`.
+There are scenarios where you need to restrict the CRUD action on specific appointments alone based on certain conditions. In the following example, the events that has occurred on the past hours from the current date of the Scheduler are made as read-only and the CRUD actions has been prevented only on those appointments. This can be achieved by setting [`isReadonly`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#isreadonly) field of read-only events to `true`.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -857,11 +857,11 @@ There are scenarios where you need to restrict the CRUD action on specific appoi
{% previewsample "page.domainurl/samples/schedule/event-cs14" %}
-> By default, the event editor is prevented to open on the read-only events when [`isReadonly`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#isreadonly) field is set to `true`.
+> By default, the event editor is prevented to open on the read-only events when [`isReadonly`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#isreadonly) field is set to `true`.
## Restricting event creation on specific time slots
-You can restrict the users to create and update more than one appointment on specific time slots. Also, you can disable the CRUD action on those time slots if it is already occupied, which can be achieved using Scheduler's public method [`isSlotAvailable`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#isslotavailable).
+You can restrict the users to create and update more than one appointment on specific time slots. Also, you can disable the CRUD action on those time slots if it is already occupied, which can be achieved using Scheduler's public method [`isSlotAvailable`](https://ej2.syncfusion.com/angular/documentation/api/schedule#isslotavailable).
>Note: The **isSlotAvailable** is centered around verifying appointments within the present view's date range. Yet, it does not encompass an evaluation of availability for recurrence occurrences that fall beyond this particular date range.
@@ -879,7 +879,7 @@ You can restrict the users to create and update more than one appointment on spe
## Differentiate the past time events
-To differentiate the appearance of the appointments based on specific criteria such as displaying the past hour appointments with different colors on Scheduler [`eventRendered`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#eventrendered) event can be used which triggers before the appointment renders on the Scheduler.
+To differentiate the appearance of the appointments based on specific criteria such as displaying the past hour appointments with different colors on Scheduler [`eventRendered`](https://ej2.syncfusion.com/angular/documentation/api/schedule#eventrendered) event can be used which triggers before the appointment renders on the Scheduler.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -895,9 +895,9 @@ To differentiate the appearance of the appointments based on specific criteria s
## Appointments occupying entire cell
-The Scheduler allows the event to occupies the full height of the cell without its header part by setting `true` for [`enableMaxHeight`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#enablemaxheight) Property.
+The Scheduler allows the event to occupies the full height of the cell without its header part by setting `true` for [`enableMaxHeight`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#enablemaxheight) Property.
-We can show more indicator if more than one appointment is available in a same cell by setting `true` to [`enableIndicator`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#enableindicator) property whereas its default value is false.
+We can show more indicator if more than one appointment is available in a same cell by setting `true` to [`enableIndicator`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#enableindicator) property whereas its default value is false.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -916,9 +916,9 @@ We can show more indicator if more than one appointment is available in a same c
## Limiting maximum number of events displayed
In the Scheduler, the default behavior is to display concurrent events based on cell height, with each new event represented as
-`+n more` characters. However, you may want to improve the quality of the presentation by limiting the number of concurrent events. This can be accomplished by using the [maxEventsPerRow](https://ej2.syncfusion.com/angular/documentation/api/schedule/views/#maxeventsperrow) property, which is defaulted to the [views](https://ej2.syncfusion.com/angular/documentation/api/schedule/views/) property.
+`+n more` characters. However, you may want to improve the quality of the presentation by limiting the number of concurrent events. This can be accomplished by using the [maxEventsPerRow](https://ej2.syncfusion.com/angular/documentation/api/schedule/views#maxeventsperrow) property, which is defaulted to the [views](https://ej2.syncfusion.com/angular/documentation/api/schedule/views) property.
-The [maxEventsPerRow](https://ej2.syncfusion.com/angular/documentation/api/schedule/views/#maxeventsperrow) property is specific to the month, timeline month, and timeline year views, allowing you to view events visually in these rows. Below is a code example that demonstrates how to use this constraint and the events displayed in a cell have been created:
+The [maxEventsPerRow](https://ej2.syncfusion.com/angular/documentation/api/schedule/views#maxeventsperrow) property is specific to the month, timeline month, and timeline year views, allowing you to view events visually in these rows. Below is a code example that demonstrates how to use this constraint and the events displayed in a cell have been created:
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -932,7 +932,7 @@ The [maxEventsPerRow](https://ej2.syncfusion.com/angular/documentation/api/sched
{% previewsample "page.domainurl/samples/schedule/max-events-per-row-cs1" %}
-> The property [maxEventsPerRow](https://ej2.syncfusion.com/angular/documentation/api/schedule/views/#maxeventsperrow) will be applicable only when [rowAutoHeight](https://ej2.syncfusion.com/angular/documentation/api/schedule/#rowautoheight) feature is disabled in the Scheduler.
+> The property [maxEventsPerRow](https://ej2.syncfusion.com/angular/documentation/api/schedule/views#maxeventsperrow) will be applicable only when [rowAutoHeight](https://ej2.syncfusion.com/angular/documentation/api/schedule#rowautoheight) feature is disabled in the Scheduler.
## Display tooltip for appointments
@@ -940,7 +940,7 @@ The tooltip shows the Scheduler appointment's information in a formatted style b
### Show or hide built-in tooltip
-The tooltip can be displayed for appointments by setting `true` to the [`enableTooltip`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#enabletooltip) option within the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/) property.
+The tooltip can be displayed for appointments by setting `true` to the [`enableTooltip`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#enabletooltip) option within the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings) property.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -958,7 +958,7 @@ The tooltip can be displayed for appointments by setting `true` to the [`enableT
### Customizing event tooltip using template
-After enabling the default tooltip, it is possible to customize the display of needed event information on tooltip by making use of the [`tooltipTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#tooltiptemplate) option within the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/).
+After enabling the default tooltip, it is possible to customize the display of needed event information on tooltip by making use of the [`tooltipTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#tooltiptemplate) option within the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings).
{% tabs %}
{% highlight html tabtitle="app.component.html" %}
@@ -977,13 +977,13 @@ After enabling the default tooltip, it is possible to customize the display of n

-> All the field names that are mapped from the Scheduler dataSource to the appropriate field properties such as subject, description, location, startTime and endTime within the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/) can be accessed within the template.
+> All the field names that are mapped from the Scheduler dataSource to the appropriate field properties such as subject, description, location, startTime and endTime within the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings) can be accessed within the template.
### How to prevent the tooltip for specific events
-By using the [`tooltipOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#tooltipOpen) event, you can selectively control when tooltips appear, based on appointment data or other custom conditions.
+By using the [`tooltipOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule#tooltipOpen) event, you can selectively control when tooltips appear, based on appointment data or other custom conditions.
-To prevent a tooltip from appearing for certain events, you can set the `cancel` property to `true` within the [`tooltipOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#tooltipOpen) event. This ensures that tooltips are only displayed for the relevant appointments, improving user experience by minimizing unnecessary distractions.
+To prevent a tooltip from appearing for certain events, you can set the `cancel` property to `true` within the [`tooltipOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule#tooltipOpen) event. This ensures that tooltips are only displayed for the relevant appointments, improving user experience by minimizing unnecessary distractions.
{% tabs %}
{% highlight html tabtitle="app.component.html" %}
@@ -1002,7 +1002,7 @@ To prevent a tooltip from appearing for certain events, you can set the `cancel`
## Appointment filtering
-The appointments can be filtered by passing the predicate value to [`query`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#query) option in [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/). The following code example shows how to filter and render the selected appointments alone in the Scheduler.
+The appointments can be filtered by passing the predicate value to [`query`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#query) option in [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings). The following code example shows how to filter and render the selected appointments alone in the Scheduler.
{% tabs %}
{% highlight html tabtitle="app.component.html" %}
@@ -1034,7 +1034,7 @@ With the options available to select multiple appointments, it is also possible
## Retrieve event details from the UI of an event
-It is possible to access the information about the event fields of an appointment element displayed on the Scheduler UI. This can be achieved by passing an appointment element as argument to the public method [`getEventDetails`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#geteventdetails).
+It is possible to access the information about the event fields of an appointment element displayed on the Scheduler UI. This can be achieved by passing an appointment element as argument to the public method [`getEventDetails`](https://ej2.syncfusion.com/angular/documentation/api/schedule#geteventdetails).
In the following example, the subject of the appointment clicked has been displayed.
@@ -1055,7 +1055,7 @@ In the following example, the subject of the appointment clicked has been displa
## Get the current view appointments
-To retrieve the appointments present in the current view of the Scheduler, you can make use of the [`getCurrentViewEvents`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#getcurrentviewevents) public method. In the following example, the count of current view appointment collection rendered has been traced in [`dataBound`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#databound) event.
+To retrieve the appointments present in the current view of the Scheduler, you can make use of the [`getCurrentViewEvents`](https://ej2.syncfusion.com/angular/documentation/api/schedule#getcurrentviewevents) public method. In the following example, the count of current view appointment collection rendered has been traced in [`dataBound`](https://ej2.syncfusion.com/angular/documentation/api/schedule#databound) event.
{% tabs %}
{% highlight html tabtitle="app.component.html" %}
@@ -1074,7 +1074,7 @@ To retrieve the appointments present in the current view of the Scheduler, you c
## Get the entire appointment collections
-The entire collection of appointments rendered on the Scheduler can be accessed using the [`getEvents`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#getevents) public method. In the following example, the count of entire appointment collection rendered on the Scheduler has been traced in [`dataBound`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#databound) event.
+The entire collection of appointments rendered on the Scheduler can be accessed using the [`getEvents`](https://ej2.syncfusion.com/angular/documentation/api/schedule#getevents) public method. In the following example, the count of entire appointment collection rendered on the Scheduler has been traced in [`dataBound`](https://ej2.syncfusion.com/angular/documentation/api/schedule#databound) event.
{% tabs %}
{% highlight html tabtitle="app.component.html" %}
@@ -1093,7 +1093,7 @@ The entire collection of appointments rendered on the Scheduler can be accessed
## Refresh appointments
-To refresh events only (without re-rendering the Scheduler UI), call the [`refreshEvents`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#refreshevents) public method.
+To refresh events only (without re-rendering the Scheduler UI), call the [`refreshEvents`](https://ej2.syncfusion.com/angular/documentation/api/schedule#refreshevents) public method.
```typescript
this.scheduleObj.refreshEvents();
diff --git a/ej2-angular/schedule/calendar-mode.md b/ej2-angular/schedule/calendar-mode.md
index aeec1467184..172bfcb823e 100644
--- a/ej2-angular/schedule/calendar-mode.md
+++ b/ej2-angular/schedule/calendar-mode.md
@@ -25,7 +25,7 @@ The Islamic Calendar, also known as the Hijri or Muslim calendar, is a lunar cal
> The current Islamic year is 1440 AH. Usually the Gregorian calendar runs from approximately 11 September 2018 to 30 August 2019 for this 1440 AH year.
-The Scheduler has a property [`calendarMode`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#calendarmode) which is used to switch between the gregorian and islamic calendar modes. By default, it is set to `Gregorian` and to use it with Islamic calendar dates, define the `calendarMode` of Scheduler to `Islamic`. The following example depicts, how to display the Islamic calendar dates on Scheduler.
+The Scheduler has a property [`calendarMode`](https://ej2.syncfusion.com/angular/documentation/api/schedule#calendarmode) which is used to switch between the gregorian and islamic calendar modes. By default, it is set to `Gregorian` and to use it with Islamic calendar dates, define the `calendarMode` of Scheduler to `Islamic`. The following example depicts, how to display the Islamic calendar dates on Scheduler.
To use the Islamic calendar in Scheduler, import the `Calendar` and `Islamic` modules from the `ej2-calendars` package, and inject them using the `Calendar.Inject` method. Additionally, ensure the following CLDR data files are loaded via the `loadCldr` function, as this is necessary for multilingual and Islamic date support:
diff --git a/ej2-angular/schedule/cell-customization.md b/ej2-angular/schedule/cell-customization.md
index 009b081fb90..fbc8139525e 100644
--- a/ej2-angular/schedule/cell-customization.md
+++ b/ej2-angular/schedule/cell-customization.md
@@ -10,11 +10,11 @@ domainurl: ##DomainURL##
# Cell customization in Angular Schedule component
-The cells of the Scheduler can be customized using a template or the [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#rendercell) event.
+The cells of the Scheduler can be customized using a template or the [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule#rendercell) event.
## Setting cell dimensions in all views
-The height and width of the Scheduler cells can be customized to increase or reduce their size through the [`cssClass`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#cssclass) property, which overrides the default CSS applied on cells.
+The height and width of the Scheduler cells can be customized to increase or reduce their size through the [`cssClass`](https://ej2.syncfusion.com/angular/documentation/api/schedule#cssclass) property, which overrides the default CSS applied on cells.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -32,7 +32,7 @@ The height and width of the Scheduler cells can be customized to increase or red
## Check for cell availability
-You can check whether the given time range slots are available for event creation or already occupied by other events using the [`isSlotAvailable`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#isslotavailable) method. In the following code example, if a specific time slot already contains an appointment, no more appointments can be added to that cell.
+You can check whether the given time range slots are available for event creation or already occupied by other events using the [`isSlotAvailable`](https://ej2.syncfusion.com/angular/documentation/api/schedule#isslotavailable) method. In the following code example, if a specific time slot already contains an appointment, no more appointments can be added to that cell.
>Note: The **isSlotAvailable** is centered around verifying appointments within the present view's date range. Yet, it does not encompass an evaluation of availability for recurrence occurrences that fall beyond this particular date range.
@@ -50,11 +50,11 @@ You can check whether the given time range slots are available for event creatio
## Customizing cells in all views
-It is possible to customize the appearance of cells using both template options and [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#rendercell) event in all views.
+It is possible to customize the appearance of cells using both template options and [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule#rendercell) event in all views.
### Using template
-The [`cellTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#celltemplate) option accepts a template string and is used to customize the cell background with specific images or text for the given date values.
+The [`cellTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#celltemplate) option accepts a template string and is used to customize the cell background with specific images or text for the given date values.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -72,7 +72,7 @@ The [`cellTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedu
### Using renderCell event
-An alternative to [`cellTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#celltemplate) is the [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#rendercell) event, which can also be used to customize cells with images or formatted text.
+An alternative to [`cellTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#celltemplate) is the [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule#rendercell) event, which can also be used to customize cells with images or formatted text.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -86,7 +86,7 @@ An alternative to [`cellTemplate`](https://ej2.syncfusion.com/angular/documentat
{% previewsample "page.domainurl/samples/schedule/default-cs24" %}
-You can customize cells such as work cells, month cells, all-day cells, header cells, and resource header cells using the [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#rendercell) event by checking the [`elementType`](https://ej2.syncfusion.com/angular/documentation/api/schedule/renderCellEventArgs/#elementtype) property within the event. You can check `elementType` against any of the following.
+You can customize cells such as work cells, month cells, all-day cells, header cells, and resource header cells using the [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule#rendercell) event by checking the [`elementType`](https://ej2.syncfusion.com/angular/documentation/api/schedule/renderCellEventArgs#elementtype) property within the event. You can check `elementType` against any of the following.
| Element type | Description |
|-------|---------|
@@ -104,7 +104,7 @@ You can customize cells such as work cells, month cells, all-day cells, header c
## Customizing cell header in month view
-The month header of each date cell in month view can be customized using the [`cellHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#cellheadertemplate) option, which accepts a string or `HTMLElement`. The corresponding date can be accessed within the template.
+The month header of each date cell in month view can be customized using the [`cellHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#cellheadertemplate) option, which accepts a string or `HTMLElement`. The corresponding date can be accessed within the template.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -120,7 +120,7 @@ The month header of each date cell in month view can be customized using the [`c
## Customizing the minimum and maximum date values
-Providing the [`minDate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#mindate) and [`maxDate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#maxdate) property with some date values, allows the Scheduler to set the minimum and maximum date range. The Scheduler date that lies beyond this minimum and maximum date range will be in a disabled state so that the date navigation will be blocked beyond the specified date range.
+Providing the [`minDate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#mindate) and [`maxDate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#maxdate) property with some date values, allows the Scheduler to set the minimum and maximum date range. The Scheduler date that lies beyond this minimum and maximum date range will be in a disabled state so that the date navigation will be blocked beyond the specified date range.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -138,7 +138,7 @@ Providing the [`minDate`](https://ej2.syncfusion.com/angular/documentation/api/s
## Customizing the weekend cells background color
-You can customize the background color of weekend cells by utilizing the [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#rendercell) event and checking the [`elementType`](https://ej2.syncfusion.com/angular/documentation/api/schedule/renderCellEventArgs/#elementtype) option within the event.
+You can customize the background color of weekend cells by utilizing the [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule#rendercell) event and checking the [`elementType`](https://ej2.syncfusion.com/angular/documentation/api/schedule/renderCellEventArgs#elementtype) option within the event.
```typescript
@@ -157,7 +157,7 @@ public onRenderCell(args: RenderCellEventArgs): void {
```
-And, the background color for weekend cells in the Month view through the [`cssClass`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#cssclass) property, which overrides the default CSS applied on cells.
+And, the background color for weekend cells in the Month view through the [`cssClass`](https://ej2.syncfusion.com/angular/documentation/api/schedule#cssclass) property, which overrides the default CSS applied on cells.
```CSS
@@ -181,6 +181,6 @@ And, the background color for weekend cells in the Month view through the [`cssC
## How to disable multiple cell and row selection in Schedule
-By default, the [`allowMultiCellSelection`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#allowmulticellselection) and [`allowMultiCellSelection`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#allowmulticellselection) properties of the Schedule are set to `true`. So, the Schedule allows user to select multiple cells and rows. If the user want to disable this multiple cell and row selection. The user can disable this feature by setting up `false` to these properties.
+By default, the [`allowMultiCellSelection`](https://ej2.syncfusion.com/angular/documentation/api/schedule#allowmulticellselection) and [`allowMultiCellSelection`](https://ej2.syncfusion.com/angular/documentation/api/schedule#allowmulticellselection) properties of the Schedule are set to `true`. So, the Schedule allows user to select multiple cells and rows. If the user want to disable this multiple cell and row selection. The user can disable this feature by setting up `false` to these properties.
> You can refer to our [Angular Scheduler](https://www.syncfusion.com/angular-components/angular-scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [Angular Scheduler example](https://ej2.syncfusion.com/angular/demos/#/material/schedule/overview) to knows how to present and manipulate data.
diff --git a/ej2-angular/schedule/clipboard.md b/ej2-angular/schedule/clipboard.md
index aaaed8763a7..7fc394e365a 100644
--- a/ej2-angular/schedule/clipboard.md
+++ b/ej2-angular/schedule/clipboard.md
@@ -11,9 +11,9 @@ domainurl: ##DomainURL##
# Clipboard in Angular Schedule component
The Clipboard functionality in the Syncfusion® Schedule control enhances scheduling efficiency by enabling users to cut, copy, and paste appointments with ease. This feature is especially beneficial for those managing multiple appointments, as it eliminates the need for repetitive data entry and allows users to quickly adjust their schedules without hassle.
-To activate the clipboard feature in the scheduler, simply set the [`allowClipboard`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#allowclipboard) property to **true**.
+To activate the clipboard feature in the scheduler, simply set the [`allowClipboard`](https://ej2.syncfusion.com/angular/documentation/api/schedule#allowclipboard) property to **true**.
->Note: The [`allowKeyboardInteraction`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#allowkeyboardinteraction) property must be true for proper functionality of the clipboard feature.
+>Note: The [`allowKeyboardInteraction`](https://ej2.syncfusion.com/angular/documentation/api/schedule#allowkeyboardinteraction) property must be true for proper functionality of the clipboard feature.
## Cut, copy and paste using keyboard
@@ -53,9 +53,9 @@ Utilize these methods to manage appointments in the Syncfusion You can also display custom menu options on scheduler cells and appointments. Context menu will open on tap-hold in responsive mode.
diff --git a/ej2-angular/schedule/crud-actions.md b/ej2-angular/schedule/crud-actions.md
index 11fb07c1211..e428a66da08 100644
--- a/ej2-angular/schedule/crud-actions.md
+++ b/ej2-angular/schedule/crud-actions.md
@@ -32,7 +32,7 @@ In case, if you need to add some other additional fields to the editor window, t
### Creation using addEvent method
-Appointments can be dynamically created by using the [`addEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#addevent) method. You can add a single appointment or multiple appointment objects with this method. The following example demonstrates how to create multiple appointments simultaneously:
+Appointments can be dynamically created by using the [`addEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule#addevent) method. You can add a single appointment or multiple appointment objects with this method. The following example demonstrates how to create multiple appointments simultaneously:
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -95,7 +95,7 @@ Additionally, a regular expression validation is applied to the Location field.
{% previewsample "page.domainurl/samples/schedule/default-cs28" %}
-To prevent users from creating appointments on weekends, use the [`actionBegin`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#actionbegin) event to check for the desired condition and restrict creation as needed.
+To prevent users from creating appointments on weekends, use the [`actionBegin`](https://ej2.syncfusion.com/angular/documentation/api/schedule#actionbegin) event to check for the desired condition and restrict creation as needed.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -124,9 +124,9 @@ You can open the default editor window filled with appointment details by double
### Updating using saveEvent method
-Appointments can be edited and updated programmatically using the [`saveEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#saveevent) method. The following examples show both normal and recurring event updates.
+Appointments can be edited and updated programmatically using the [`saveEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule#saveevent) method. The following examples show both normal and recurring event updates.
-**Normal event**: To edit an event (for example, updating the subject of the event with ID `3`), modify the event object and pass it to [`saveEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#saveevent). The `Id` field must match an existing event in the Scheduler data source.
+**Normal event**: To edit an event (for example, updating the subject of the event with ID `3`), modify the event object and pass it to [`saveEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule#saveevent). The `Id` field must match an existing event in the Scheduler data source.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -140,11 +140,11 @@ Appointments can be edited and updated programmatically using the [`saveEvent`](
{% previewsample "page.domainurl/samples/schedule/default-cs30" %}
-**Recurring event** - The following code example shows how to edit a single occurrence of a recurring event. In this case, the modified data should hold an additional field namely [`RecurrenceID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrenceid) mapping to its parent recurring event's Id value. Also, this modified occurrence will be considered as a new event in the Scheduler dataSource, where it is linked with its parent event through the [`RecurrenceID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrenceid) field value. The [`saveEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#saveevent) method takes 2 arguments, first one accepting the modified event data object and second argument accepting either of the 2 text values - `EditOccurrence` or `EditSeries`.
+**Recurring event** - The following code example shows how to edit a single occurrence of a recurring event. In this case, the modified data should hold an additional field namely [`RecurrenceID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrenceid) mapping to its parent recurring event's Id value. Also, this modified occurrence will be considered as a new event in the Scheduler dataSource, where it is linked with its parent event through the [`RecurrenceID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrenceid) field value. The [`saveEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule#saveevent) method takes 2 arguments, first one accepting the modified event data object and second argument accepting either of the 2 text values - `EditOccurrence` or `EditSeries`.
When the second argument is passed as `EditOccurrence`, which means that the passed event data is a single modified occurrence - whereas if the second argument is passed as `EditSeries`, it means that the modified data needs to be edited as a whole series and therefore no new event object will be maintained in the Scheduler dataSource.
-In case of modifying the single occurrence, it is also necessary to update the [`RecurrenceException`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrenceexception) field of parent event altogether with the occurrence editing. To know more about how to set [`RecurrenceException`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrenceexception)` values, refer the [recurring events](./appointments#adding-exceptions) topic.
+In case of modifying the single occurrence, it is also necessary to update the [`RecurrenceException`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrenceexception) field of parent event altogether with the occurrence editing. To know more about how to set [`RecurrenceException`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrenceexception)` values, refer the [recurring events](./appointments#adding-exceptions) topic.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -194,9 +194,9 @@ Recurring appointments can be edited as a single occurrence or as an entire seri
**Editing single occurrence** - When you double click on a recurring event, a popup prompts you to choose either to edit the single event or entire series. From this, if you choose to select **EDIT EVENT** option, a single occurrence of the recurring appointment alone will be edited. The following process takes place while editing a single occurrence,
-* A new event will be created from the parent event data and added to the Scheduler dataSource, with all its default field values overwritten with the newly modified data and additionally, the [`recurrenceID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrenceid) field will be added to it, that holds the `id` value of the parent recurring event. Also, a new `Id` will be generated for this event in the dataSource.
+* A new event will be created from the parent event data and added to the Scheduler dataSource, with all its default field values overwritten with the newly modified data and additionally, the [`recurrenceID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrenceid) field will be added to it, that holds the `id` value of the parent recurring event. Also, a new `Id` will be generated for this event in the dataSource.
-* The parent recurring event needs to be updated with appropriate [`recurrenceException`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrenceexception) field to hold the edited occurrence appointment's date collection.
+* The parent recurring event needs to be updated with appropriate [`recurrenceException`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrenceexception) field to hold the edited occurrence appointment's date collection.
Therefore, when a single occurrence is edited from a recurring event, the batch action takes place by allowing both the `Add` and `Edit` action requests to take place together.
@@ -298,13 +298,13 @@ if (param.action == "remove" || (param.action == "batch" && param.deleted != nul
### How to edit from the current and following events of a series
-The recurring appointments can be edited from current and following events when enable the property [`editFollowingEvents`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#editfollowingevents).
+The recurring appointments can be edited from current and following events when enable the property [`editFollowingEvents`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#editfollowingevents).
**Editing Following Events** - When you double click on a recurring event, a popup prompts you to choose either to edit the single event or Edit Following Events or entire series. From this, if you choose to select **EDIT FOLLOWING EVENTS** option, a current and following events of the recurring appointment will be edited. The following process takes place while editing a following events,
-* A new event will be created from the parent event data and added to the Scheduler dataSource, with all its default field values overwritten with the newly modified data and additionally, the [`followingID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#followingid) field will be added to it, that holds the [`id`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#id) value of the immediate parent recurring event. Also, a new `Id` will be generated for this event in the dataSource.
+* A new event will be created from the parent event data and added to the Scheduler dataSource, with all its default field values overwritten with the newly modified data and additionally, the [`followingID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#followingid) field will be added to it, that holds the [`id`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#id) value of the immediate parent recurring event. Also, a new `Id` will be generated for this event in the dataSource.
-* The parent recurring event needs to be updated with appropriate [`recurrenceRule`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrencerule) field to hold the modified occurrence appointment's end date.
+* The parent recurring event needs to be updated with appropriate [`recurrenceRule`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrencerule) field to hold the modified occurrence appointment's end date.
Therefore, when a following events are edited from a recurring event, the batch action takes place by allowing the `Add`, `Edit` and `Delete` action requests to take place together.
@@ -376,7 +376,7 @@ if (param.action == "remove" || (param.action == "batch" && param.deleted != nul
### Restricting edit action based on specific criteria
-To prevent editing appointments during non-working hours, use the [`actionBegin`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#actionbegin) event to check for appropriate conditions.
+To prevent editing appointments during non-working hours, use the [`actionBegin`](https://ej2.syncfusion.com/angular/documentation/api/schedule#actionbegin) event to check for appropriate conditions.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -407,9 +407,9 @@ When you double click an event, the default editor window will be opened which i
### Deletion using deleteEvent method
-Appointments can be programmatically removed using the [`deleteEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#deleteevent) method. The following code examples shows how to edit the normal and recurring events.
+Appointments can be programmatically removed using the [`deleteEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule#deleteevent) method. The following code examples shows how to edit the normal and recurring events.
-**Normal event**: Pass the appointment’s `Id` or the event object to [`deleteEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#deleteevent) to delete normal Scheduler appointments.
+**Normal event**: Pass the appointment’s `Id` or the event object to [`deleteEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule#deleteevent) to delete normal Scheduler appointments.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -474,7 +474,7 @@ The recurring events can be deleted in either of the following two ways.
**Single occurrence** - When you attempt to delete the recurring events, a popup prompts you to choose either to delete the single event or entire series. From this, if you choose to select **DELETE EVENT** option, a single occurrence of the recurring appointment alone will be removed. The following process takes place while removing a single occurrence,
* The selected occurrence will be deleted from the Scheduler user interface.
-* In code, the parent recurring event object will be updated with appropriate [`recurrenceException`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrenceexception) field, to hold the deleted occurrence appointment's date collection.
+* In code, the parent recurring event object will be updated with appropriate [`recurrenceException`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrenceexception) field, to hold the deleted occurrence appointment's date collection.
Therefore, when a single occurrence is deleted from a recurring event, the `update` action takes place on the parent recurring event as shown in the following code example.
@@ -529,12 +529,12 @@ if (param.action == "remove" || (param.action == "batch" && param.deleted != nul
### How to delete only the current and following events of a series
-The recurring events can be deleted from current and following events only when enable [`editFollowingEvents`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#editfollowingevents) property.
+The recurring events can be deleted from current and following events only when enable [`editFollowingEvents`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#editfollowingevents) property.
**Delete Following Events** - When you attempt to delete the recurring events, a popup prompts you to choose either to delete the single event or Following Events or entire series. From this, if you choose to select **FOLLOWING EVENT** option, a current and following events of the recurring appointment alone will be removed. The following process takes place while removing a single occurrence,
* The selected occurrence and the following events in same series will be deleted from the Scheduler user interface.
-* In code, the parent recurring event object will be updated with appropriate [`recurrenceRule`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field/#recurrencerule) field, to update the end date of the recurring events.
+* In code, the parent recurring event object will be updated with appropriate [`recurrenceRule`](https://ej2.syncfusion.com/angular/documentation/api/schedule/field#recurrencerule) field, to update the end date of the recurring events.
Therefore, when following events are deleted from a recurring event, the `remove` and `update` action takes place on the immediate parent recurring event as shown in the following code example.
diff --git a/ej2-angular/schedule/data-binding.md b/ej2-angular/schedule/data-binding.md
index baabccb9985..5dc8fdfe561 100644
--- a/ej2-angular/schedule/data-binding.md
+++ b/ej2-angular/schedule/data-binding.md
@@ -10,14 +10,14 @@ domainurl: ##DomainURL##
# Data binding in Angular Schedule component
-The Scheduler utilizes the `DataManager`, which supports both RESTful data service binding and JavaScript object array binding. The [`dataSource`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#datasource) property of Scheduler can be assigned either an instance of `DataManager` or a JavaScript object array collection. Scheduler supports the following data binding methods:
+The Scheduler utilizes the `DataManager`, which supports both RESTful data service binding and JavaScript object array binding. The [`dataSource`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#datasource) property of Scheduler can be assigned either an instance of `DataManager` or a JavaScript object array collection. Scheduler supports the following data binding methods:
* Local data
* Remote data
## Binding local data
-To bind local JSON data to the Scheduler, assign a JavaScript object array to the [`dataSource`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#datasource) option of the Scheduler within the `eventSettings` property. The JSON object dataSource can also be provided as an instance of `DataManager` and assigned to the Scheduler `dataSource` property.
+To bind local JSON data to the Scheduler, assign a JavaScript object array to the [`dataSource`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#datasource) option of the Scheduler within the `eventSettings` property. The JSON object dataSource can also be provided as an instance of `DataManager` and assigned to the Scheduler `dataSource` property.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -37,11 +37,11 @@ To bind local JSON data to the Scheduler, assign a JavaScript object array to th
## Binding remote data
-The Scheduler supports binding to various remote data services. To configure this, create an instance of `DataManager`, supply the remote service URL to the `url` option, and assign it to the [`dataSource`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#datasource) property within `eventSettings`.
+The Scheduler supports binding to various remote data services. To configure this, create an instance of `DataManager`, supply the remote service URL to the `url` option, and assign it to the [`dataSource`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#datasource) property within `eventSettings`.
### Using ODataV4Adaptor
-[ODataV4](https://www.odata.org/documentation/) is a standardized protocol for creating and consuming data. The following example demonstrates how to retrieve data from an ODataV4 service using DataManager. To connect with ODataV4 service endpoints, utilize the `ODataV4Adaptor` within `DataManager`.
+[ODataV4](https://www.odata.org/documentation) is a standardized protocol for creating and consuming data. The following example demonstrates how to retrieve data from an ODataV4 service using DataManager. To connect with ODataV4 service endpoints, utilize the `ODataV4Adaptor` within `DataManager`.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -57,7 +57,7 @@ The Scheduler supports binding to various remote data services. To configure thi
### Filter events using the in-built query
-To enable server-side filtering operations based on specific conditions, set the [`includeFiltersInQuery`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/eventSettingsModel/#includefiltersinquery) API to true. This allows the filter query to include the start date, end date, and recurrence rule, enabling the request to retrieve only the relevant data from the server.
+To enable server-side filtering operations based on specific conditions, set the [`includeFiltersInQuery`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/eventSettingsModel#includefiltersinquery) API to true. This allows the filter query to include the start date, end date, and recurrence rule, enabling the request to retrieve only the relevant data from the server.
This method greatly improves the component's performance by reducing the data that needs to be transferred to the client side. As a result, the component's efficiency and responsiveness are significantly enhanced, resulting in a better user experience. However, it is important to consider the possibility of longer query strings, which may cause issues with the maximum URL length or server limitations on query string length.
@@ -95,7 +95,7 @@ You can create a custom adaptor by extending one of the built-in adaptors. The f
## Loading data via AJAX post
-You can bind the event data through external ajax request and assign it to the [`dataSource`][`dataSource`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#datasource)property of Scheduler. In the following code example, we have retrieved the data from server with the help of ajax request and assigned the resultant data to the `dataSource` property of Scheduler within the `onSuccess` event of Ajax.
+You can bind the event data through external ajax request and assign it to the [`dataSource`][`dataSource`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#datasource)property of Scheduler. In the following code example, we have retrieved the data from server with the help of ajax request and assigned the resultant data to the `dataSource` property of Scheduler within the `onSuccess` event of Ajax.
`[src/app/app.ts]`
@@ -134,7 +134,7 @@ export class AppComponent implements OnInit {
## Passing additional parameters to the server
-To send additional custom parameters in the server-side request, use the `addParams` method of `Query`. Assign this `Query` object with the custom parameters to the [`query`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#query) property of Scheduler.
+To send additional custom parameters in the server-side request, use the `addParams` method of `Query`. Assign this `Query` object with the custom parameters to the [`query`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#query) property of Scheduler.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -148,13 +148,13 @@ To send additional custom parameters in the server-side request, use the `addPar
{% previewsample "page.domainurl/samples/schedule/data-bind-cs4" %}
-> Parameters added using the [`query`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#query) property are sent with the data request to the server on every Scheduler action.
+> Parameters added using the [`query`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#query) property are sent with the data request to the server on every Scheduler action.
## Handling failure actions
-When Scheduler interacts with the server, server-side exceptions may occur. These error messages or exception details can be accessed client-side using the [`actionFailure`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#actionfailure) event of Scheduler.
+When Scheduler interacts with the server, server-side exceptions may occur. These error messages or exception details can be accessed client-side using the [`actionFailure`](https://ej2.syncfusion.com/angular/documentation/api/schedule#actionfailure) event of Scheduler.
-The argument passed to the [`actionFailure`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#actionfailure) event contains all error details returned from the server.
+The argument passed to the [`actionFailure`](https://ej2.syncfusion.com/angular/documentation/api/schedule#actionfailure) event contains all error details returned from the server.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -168,7 +168,7 @@ The argument passed to the [`actionFailure`](https://ej2.syncfusion.com/angular/
{% previewsample "page.domainurl/samples/schedule/data-bind-cs5" %}
-> The [`actionFailure`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#actionfailure) event is triggered not only when the server returns errors, but also when an exception occurs during Scheduler CRUD operations.
+> The [`actionFailure`](https://ej2.syncfusion.com/angular/documentation/api/schedule#actionfailure) event is triggered not only when the server returns errors, but also when an exception occurs during Scheduler CRUD operations.
## Scheduler CRUD actions
@@ -304,7 +304,7 @@ namespace ScheduleSample.Controllers
## Configuring Scheduler with Google API service
-We have assigned our custom created Google Calendar url to the DataManager and assigned the same to the Scheduler [`dataSource`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#datasource). Since the events data retrieved from the Google Calendar will be in its own object format, therefore it needs to be resolved manually within the Scheduler’s [`dataBinding`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#databinding) event. Within this event, the event fields needs to be mapped properly and then assigned to the result.
+We have assigned our custom created Google Calendar url to the DataManager and assigned the same to the Scheduler [`dataSource`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#datasource). Since the events data retrieved from the Google Calendar will be in its own object format, therefore it needs to be resolved manually within the Scheduler’s [`dataBinding`](https://ej2.syncfusion.com/angular/documentation/api/schedule#databinding) event. Within this event, the event fields needs to be mapped properly and then assigned to the result.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
diff --git a/ej2-angular/schedule/editor-template.md b/ej2-angular/schedule/editor-template.md
index c0b24a7d95b..1e47fedce04 100644
--- a/ej2-angular/schedule/editor-template.md
+++ b/ej2-angular/schedule/editor-template.md
@@ -18,7 +18,7 @@ The editor window opens on the Scheduler when a cell or event is double-clicked.
On mobile devices, the detailed editor window opens in edit mode by clicking the edit icon on the popup that appears after tapping an event once. To open the editor in add mode, tap a cell to display a `+` indicator, then tap again to open the editor window.
-> To prevent the editor window from opening, render the Scheduler in [`readonly`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#readonly) mode or use code customization within the [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#popupopen) event.
+> To prevent the editor window from opening, render the Scheduler in [`readonly`](https://ej2.syncfusion.com/angular/documentation/api/schedule#readonly) mode or use code customization within the [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule#popupopen) event.
### How to change the editor window header title and text of footer buttons
@@ -40,7 +40,7 @@ You can modify the header title and the text of the footer buttons in the editor
### How to change the label text of default editor fields
-To change the default labels such as "Subject," "Location," and other field names, use the `title` property within the field option of [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/).
+To change the default labels such as "Subject," "Location," and other field names, use the `title` property within the field option of [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings).
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -78,7 +78,7 @@ You can validate the required fields in the editor window on the client side bef
### Adding additional fields to the default editor
-The additional fields can be added to the default event editor by making use of the [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#popupopen) event which gets triggered before the event editor opens on the Scheduler. The [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#popupopen) is a client-side event that triggers before any of the generic popups opens on the Scheduler. The additional field (any of the form elements) should be added with a common class name `e-field`, so as to handle and process those additional data along with the default event object. In the following example, an additional field `Event Type` has been added to the default event editor and its value is processed accordingly.
+The additional fields can be added to the default event editor by making use of the [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule#popupopen) event which gets triggered before the event editor opens on the Scheduler. The [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule#popupopen) is a client-side event that triggers before any of the generic popups opens on the Scheduler. The additional field (any of the form elements) should be added with a common class name `e-field`, so as to handle and process those additional data along with the default event object. In the following example, an additional field `Event Type` has been added to the default event editor and its value is processed accordingly.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -94,7 +94,7 @@ The additional fields can be added to the default event editor by making use of
### How to prevent the default focus of the editor widow
-By default, when the editor window opens, focus is set to the `subject` field. You can prevent this default focusing behavior using the [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#popupopen) event, as shown in the following code example.
+By default, when the editor window opens, focus is set to the `subject` field. You can prevent this default focusing behavior using the [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule#popupopen) event, as shown in the following code example.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -110,7 +110,7 @@ By default, when the editor window opens, focus is set to the `subject` field. Y
### Customizing the default time duration in the editor window
-The default event editor calculates start and end time durations based on the `interval` value set in the [`timeScale`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#timescale) property. By default, the [`interval`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScaleModel/#interval) value is set to 60 minutes, so the time difference in the event editor is 60 minutes. You can change this duration by updating the [`duration`](https://ej2.syncfusion.com/angular/documentation/api/schedule/popupOpenEventArgs/#duration) option within the [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#popupopen) event.
+The default event editor calculates start and end time durations based on the `interval` value set in the [`timeScale`](https://ej2.syncfusion.com/angular/documentation/api/schedule#timescale) property. By default, the [`interval`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScaleModel#interval) value is set to 60 minutes, so the time difference in the event editor is 60 minutes. You can change this duration by updating the [`duration`](https://ej2.syncfusion.com/angular/documentation/api/schedule/popupOpenEventArgs#duration) option within the [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule#popupopen) event.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -126,7 +126,7 @@ The default event editor calculates start and end time durations based on the `i
### How to prevent the display of editor and quick popups
-You can prevent the display of editor and quick popup windows by setting the `cancel` option to `true` within the [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#popupopen) event.
+You can prevent the display of editor and quick popup windows by setting the `cancel` option to `true` within the [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule#popupopen) event.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -140,7 +140,7 @@ You can prevent the display of editor and quick popup windows by setting the `ca
{% previewsample "page.domainurl/samples/schedule/editor-window-cs7" %}
-You can also prevent only specific popups by checking the popup type within the [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#popupopen) event. The following table details the available popup types:
+You can also prevent only specific popups by checking the popup type within the [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule#popupopen) event. The following table details the available popup types:
| Type | Description |
|------|-------------|
@@ -156,7 +156,7 @@ You can also prevent only specific popups by checking the popup type within the
### How to prevent the display of editor in cell double click
-You can prevent the editor from appearing by handling the [cellDoubleClick](https://ej2.syncfusion.com/angular/documentation/api/schedule/#celldoubleclick) event and setting the `cancel` option to `true`.
+You can prevent the editor from appearing by handling the [cellDoubleClick](https://ej2.syncfusion.com/angular/documentation/api/schedule#celldoubleclick) event and setting the `cancel` option to `true`.
`[src/app/app.component.ts]`
```typescript
@@ -192,7 +192,7 @@ export class AppComponent {
### Customizing timezone collection in the editor window
-By default, the editor window displays built-in timezone collections. You can customize these using the [`timezoneDataSource`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#timezonedatasource) property with a collection of [`TimezoneFields`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timezoneFields/) data.
+By default, the editor window displays built-in timezone collections. You can customize these using the [`timezoneDataSource`](https://ej2.syncfusion.com/angular/documentation/api/schedule#timezonedatasource) property with a collection of [`TimezoneFields`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timezoneFields) data.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -208,13 +208,13 @@ By default, the editor window displays built-in timezone collections. You can cu
## Customizing the event editor using template
-The event editor window can be customized using the [`editorTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#editortemplate) option. Create the custom window with required fields using a script template with type **text/x-template**.
+The event editor window can be customized using the [`editorTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#editortemplate) option. Create the custom window with required fields using a script template with type **text/x-template**.
-Each field defined within template should contain the **e-field** class, so as to allow the processing of those field values internally. The ID of this customized script template section is assigned to the [`editorTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#editortemplate) option, so that these customized fields will be replaced onto the default editor window.
+Each field defined within template should contain the **e-field** class, so as to allow the processing of those field values internally. The ID of this customized script template section is assigned to the [`editorTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#editortemplate) option, so that these customized fields will be replaced onto the default editor window.
> The **e-field** class is supported for the following Syncfusion components: **DropDownList**, **DateTimePicker**, **MultiSelect**, **DatePicker**, **CheckBox**, and **TextBox**. Since we have processed the field values internally for the above mentioned components.
-As we are using our Syncfusion® sub-components within our editor using template in the following example, the custom defined form elements needs to be configured as required Syncfusion® components such as **DropDownList** and **DateTimePicker** within the [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#popupopen) event. This particular step can be skipped, if the user needs to simply use the usual form elements.
+As we are using our Syncfusion® sub-components within our editor using template in the following example, the custom defined form elements needs to be configured as required Syncfusion® components such as **DropDownList** and **DateTimePicker** within the [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule#popupopen) event. This particular step can be skipped, if the user needs to simply use the usual form elements.
Learn how to customize the Angular Scheduler's editor window with your own design in this video:
@@ -234,9 +234,9 @@ Learn how to customize the Angular Scheduler's editor window with your own desig
### How to customize header and footer using template
-The editor window's header and footer can be customized with templates using the [`editorHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#editorheadertemplate) and [`editorFooterTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#editorfootertemplate) options. Create a template script section for each, using **text/x-template**.
+The editor window's header and footer can be customized with templates using the [`editorHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#editorheadertemplate) and [`editorFooterTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#editorfootertemplate) options. Create a template script section for each, using **text/x-template**.
-In this example, the header is customized to show the appointment's subject via [`editorHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#editorheadertemplate), while [`editorFooterTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#editorfootertemplate) is used to validate fields before saving or canceling the event.
+In this example, the header is customized to show the appointment's subject via [`editorHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#editorheadertemplate), while [`editorFooterTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#editorfootertemplate) is used to validate fields before saving or canceling the event.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -306,11 +306,11 @@ The following code example demonstrates how to apply validation rules to the sta
### How to save the customized event editor using a template
-If the **e-field** class is not added to template fields, set field values manually in the [`popupClose`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#popupclose) event.
+If the **e-field** class is not added to template fields, set field values manually in the [`popupClose`](https://ej2.syncfusion.com/angular/documentation/api/schedule#popupclose) event.
Note: Data can be retrieved only on the `save` and `delete` options, not on `close` or `cancel`.
-The following example shows how to handle saving event data by handling the [`popupClose`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#popupclose) event.
+The following example shows how to handle saving event data by handling the [`popupClose`](https://ej2.syncfusion.com/angular/documentation/api/schedule#popupclose) event.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -324,7 +324,7 @@ The following example shows how to handle saving event data by handling the [`po
{% previewsample "page.domainurl/samples/schedule/resource-field-cs4" %}
-To prevent only specific popups within the [`popupClose`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#popupclose) event, check the popup type. Types include:
+To prevent only specific popups within the [`popupClose`](https://ej2.syncfusion.com/angular/documentation/api/schedule#popupclose) event, check the popup type. Types include:
| Type | Description |
|------|-------------|
@@ -360,7 +360,7 @@ The code sample below enables the Save button in a custom event editor by handli
The quick info popups are the ones that gets opened, when a cell or appointment is single clicked on the desktop mode. On single clicking a cell, you can simply provide a subject and save it. Also, while single clicking on an event, a popup will be displayed where you can get the overview of the event information. You can also edit or delete those events through the options available in it.
-By default, popups are displayed over cells and appointments. To disable, set [`showQuickInfo`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#showquickinfo) to `false`.
+By default, popups are displayed over cells and appointments. To disable, set [`showQuickInfo`](https://ej2.syncfusion.com/angular/documentation/api/schedule#showquickinfo) to `false`.
> The quick popup that opens while single clicking on the cells are not applicable on mobile devices.
@@ -378,7 +378,7 @@ By default, popups are displayed over cells and appointments. To disable, set [`
### How to open QuickInfo popup on multiple cell selection
-By default the `QuickInfo` popup will open on single click of the cell. To open the quick info popup on multiple cell selection, you need to select the cells and press `enter` key. You can open this popup immediately after multiple cell selection by setting up `true` to [`quickInfoOnSelectionEnd`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#quickinfoonselectionend) property where as its default value is `false`.
+By default the `QuickInfo` popup will open on single click of the cell. To open the quick info popup on multiple cell selection, you need to select the cells and press `enter` key. You can open this popup immediately after multiple cell selection by setting up `true` to [`quickInfoOnSelectionEnd`](https://ej2.syncfusion.com/angular/documentation/api/schedule#quickinfoonselectionend) property where as its default value is `false`.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -408,7 +408,7 @@ L10n.load({
### Customizing quick popups
-The look and feel of the built-in quick popup window, which opens when single clicked on the cells or appointments can be customized by making use of the [`quickInfoTemplates`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#quickinfotemplates) property of the Scheduler. There are 3 sub-options available to customize them easily,
+The look and feel of the built-in quick popup window, which opens when single clicked on the cells or appointments can be customized by making use of the [`quickInfoTemplates`](https://ej2.syncfusion.com/angular/documentation/api/schedule#quickinfotemplates) property of the Scheduler. There are 3 sub-options available to customize them easily,
* header - Accepts the template design that customizes the header part of the quick popup.
* content - Accepts the template design that customizes the content part of the quick popup.
@@ -426,13 +426,13 @@ The look and feel of the built-in quick popup window, which opens when single cl
{% previewsample "page.domainurl/samples/schedule/quick-popup-cs1" %}
-> Quick popups in adaptive mode can also be customized using [`quickInfoTemplates`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#quickinfotemplates) and the `e-device` class.
+> Quick popups in adaptive mode can also be customized using [`quickInfoTemplates`](https://ej2.syncfusion.com/angular/documentation/api/schedule#quickinfotemplates) and the `e-device` class.
## More events indicator and popup
When the number of appointments count that lies on a particular time range * default appointment height exceeds the default height of a cell in month view and all other timeline views, a `+ more` text indicator will be displayed at the bottom of those cells. This indicator denotes that the cell contains few more appointments in it and clicking on that will display a popup displaying all the appointments present on that day.
-> To disable this option of showing popup with all hidden appointments, while clicking on the text indicator, you can do code customization within the [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#popupopen) event.
+> To disable this option of showing popup with all hidden appointments, while clicking on the text indicator, you can do code customization within the [`popupOpen`](https://ej2.syncfusion.com/angular/documentation/api/schedule#popupopen) event.
The same indicator is displayed on all-day row in calendar views such as day, week and work week views alone, when the number of appointment count present in a cell exceeds three. Clicking on the text indicator here will not open a popup, but will allow the expand/collapse option for viewing the remaining appointments present in the all-day row.
@@ -486,7 +486,7 @@ The following code example shows you how to customize the details shown on the a
### How to prevent the display of popup when clicking on the more text indicator
-To prevent the popup window from appearing, set the `cancel` property to `true` in the [`MoreEventsClick`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#moreeventsclick) event.
+To prevent the popup window from appearing, set the `cancel` property to `true` in the [`MoreEventsClick`](https://ej2.syncfusion.com/angular/documentation/api/schedule#moreeventsclick) event.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -502,7 +502,7 @@ To prevent the popup window from appearing, set the `cancel` property to `true`
### How to navigate Day view when clicking on more text indicator
-The following code example shows you how to customize the [`MoreEventsClick`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#moreeventsclick) property to navigate to the Day view when clicking on the more text indicator.
+The following code example shows you how to customize the [`MoreEventsClick`](https://ej2.syncfusion.com/angular/documentation/api/schedule#moreeventsclick) property to navigate to the Day view when clicking on the more text indicator.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -518,7 +518,7 @@ The following code example shows you how to customize the [`MoreEventsClick`](ht
### How to close the editor window manually
-You can close the editor window by using [closeEditor](https://ej2.syncfusion.com/angular/documentation/api/schedule/#closeeditor) method.
+You can close the editor window by using [closeEditor](https://ej2.syncfusion.com/angular/documentation/api/schedule#closeeditor) method.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -534,7 +534,7 @@ You can close the editor window by using [closeEditor](https://ej2.syncfusion.co
### How to open the quick info popup manually
-You can open the quick info popup in scheduler by using the [openQuickInfoPopup](https://ej2.syncfusion.com/angular/documentation/api/schedule/#openquickinfopopup) public method. To open the cell quick info popup, you can pass the cell data as an argument to the method. To open the event quick info popup, you should pass the event data object as an argument to the method.
+You can open the quick info popup in scheduler by using the [openQuickInfoPopup](https://ej2.syncfusion.com/angular/documentation/api/schedule#openquickinfopopup) public method. To open the cell quick info popup, you can pass the cell data as an argument to the method. To open the event quick info popup, you should pass the event data object as an argument to the method.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -550,7 +550,7 @@ You can open the quick info popup in scheduler by using the [openQuickInfoPopup]
### How to close the quick info popup manually
-You can close the quick info popup in scheduler by using the [closeQuickInfoPopup](https://ej2.syncfusion.com/angular/documentation/api/schedule/#closequickinfopopup) public method. The following code example demonstrates the how to close quick info popup manually.
+You can close the quick info popup in scheduler by using the [closeQuickInfoPopup](https://ej2.syncfusion.com/angular/documentation/api/schedule#closequickinfopopup) public method. The following code example demonstrates the how to close quick info popup manually.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
diff --git a/ej2-angular/schedule/exporting.md b/ej2-angular/schedule/exporting.md
index ba2a10f92e2..5af51ecd65d 100644
--- a/ej2-angular/schedule/exporting.md
+++ b/ej2-angular/schedule/exporting.md
@@ -14,7 +14,7 @@ The Scheduler supports exporting appointments to Excel and ICS files on the clie
## Excel Exporting
-The Scheduler allows you to export events to an Excel file by using the [`exportToExcel`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#exporttoexcel) client-side method. By default, it exports all fields mapped through [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/) property.
+The Scheduler allows you to export events to an Excel file by using the [`exportToExcel`](https://ej2.syncfusion.com/angular/documentation/api/schedule#exporttoexcel) client-side method. By default, it exports all fields mapped through [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings) property.
> Before enabling Excel export, import and inject the `ExcelExport` module from `@syncfusion/ej2-schedule` using the `Inject` method of the Scheduler.
@@ -34,7 +34,7 @@ The Scheduler allows you to export events to an Excel file by using the [`export
### Exporting with custom fields
-By default, Scheduler exports all the default event fields that are mapped to it through the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/) property. To limit the number of fields on the exported excel file, it provides an option to export only the custom fields of the event data. To export such custom fields alone, define the required `fields` through the [`ExportOptions`](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions/) interface and pass it as argument to the `exportToExcel` method as shown in the following example. For example: `['Id', 'Subject', 'StartTime', 'EndTime', 'Location']`.
+By default, Scheduler exports all the default event fields that are mapped to it through the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings) property. To limit the number of fields on the exported excel file, it provides an option to export only the custom fields of the event data. To export such custom fields alone, define the required `fields` through the [`ExportOptions`](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions) interface and pass it as argument to the `exportToExcel` method as shown in the following example. For example: `['Id', 'Subject', 'StartTime', 'EndTime', 'Location']`.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -52,7 +52,7 @@ By default, Scheduler exports all the default event fields that are mapped to it
### Exporting individual occurrences of a recurring series
-By default, the Scheduler exports recurring events as a single data by exporting only its parent record into the excel file. If you want to export each individual occurrences of a recurring series appointment as separate records in an Excel file, define the [`includeOccurrences`](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions/#includeoccurrences) option as `true` through the [`ExportOptions`](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions/) interface and pass it as argument to the [`exportToExcel`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#exporttoexcel) method. By default, the [`includeOccurrences`](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions/#includeoccurrences) option is set to `false`.
+By default, the Scheduler exports recurring events as a single data by exporting only its parent record into the excel file. If you want to export each individual occurrences of a recurring series appointment as separate records in an Excel file, define the [`includeOccurrences`](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions#includeoccurrences) option as `true` through the [`ExportOptions`](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions) interface and pass it as argument to the [`exportToExcel`](https://ej2.syncfusion.com/angular/documentation/api/schedule#exporttoexcel) method. By default, the [`includeOccurrences`](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions#includeoccurrences) option is set to `false`.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -68,7 +68,7 @@ By default, the Scheduler exports recurring events as a single data by exporting
### Exporting custom event data
-By default, the whole event collection bound to the Scheduler gets exported as an excel file. To export only specific events of Scheduler or some custom event collection, you need to pass those custom data collection as a parameter to the [`exportToExcel`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#exporttoexcel) method as shown in this following example, through the `customData` option of [`ExportOptions`](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions/) interface.
+By default, the whole event collection bound to the Scheduler gets exported as an excel file. To export only specific events of Scheduler or some custom event collection, you need to pass those custom data collection as a parameter to the [`exportToExcel`](https://ej2.syncfusion.com/angular/documentation/api/schedule#exporttoexcel) method as shown in this following example, through the `customData` option of [`ExportOptions`](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions) interface.
> By default, event data are taken from the Scheduler `dataSource`.
@@ -86,7 +86,7 @@ By default, the whole event collection bound to the Scheduler gets exported as a
### Customizing column header with custom fields exporting
-Using fields property, we can only export the defined fields into excel without customizing the header. Now we can provide the alternate support to customize the header of custom fields exporting using the `fieldsInfo` option through the `ExportFieldInfo` interface and pass it as an argument to the [`exportToExcel`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#exporttoexcel) method as shown in the following example.
+Using fields property, we can only export the defined fields into excel without customizing the header. Now we can provide the alternate support to customize the header of custom fields exporting using the `fieldsInfo` option through the `ExportFieldInfo` interface and pass it as an argument to the [`exportToExcel`](https://ej2.syncfusion.com/angular/documentation/api/schedule#exporttoexcel) method as shown in the following example.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -104,7 +104,7 @@ Using fields property, we can only export the defined fields into excel without
### Export with custom file name
-By default, the Scheduler allows you to download the exported Excel file with a name `Schedule.xlsx`. It also provides an option to export the excel file with a custom file name, by defining the desired `fileName` through the [`ExportOptions`](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions/) interface and passing it as an argument to the [`exportToExcel`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#exporttoexcel) method.
+By default, the Scheduler allows you to download the exported Excel file with a name `Schedule.xlsx`. It also provides an option to export the excel file with a custom file name, by defining the desired `fileName` through the [`ExportOptions`](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions) interface and passing it as an argument to the [`exportToExcel`](https://ej2.syncfusion.com/angular/documentation/api/schedule#exporttoexcel) method.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -120,7 +120,7 @@ By default, the Scheduler allows you to download the exported Excel file with a
### Excel file formats
-By default, the Scheduler exports event data to an excel file in the `.xlsx` format. You can also export the Scheduler data in either of the file type such as `.xlsx` or `csv` formats, by defining the [`exportType`](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions/#exporttype) option as either `csv` or `xlsx` through the [`ExportOptions`](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions/) interface. By default, the `exportType` is set to `xlsx`.
+By default, the Scheduler exports event data to an excel file in the `.xlsx` format. You can also export the Scheduler data in either of the file type such as `.xlsx` or `csv` formats, by defining the [`exportType`](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions#exporttype) option as either `csv` or `xlsx` through the [`ExportOptions`](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions) interface. By default, the `exportType` is set to `xlsx`.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -136,7 +136,7 @@ By default, the Scheduler exports event data to an excel file in the `.xlsx` for
### Custom separator in CSV
-The Scheduler exports the event data to CSV format with `,` as separator. You can change separator by setting [separator](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions/#separator) property in [ExportOptions](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions/#exporttype).
+The Scheduler exports the event data to CSV format with `,` as separator. You can change separator by setting [separator](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions#separator) property in [ExportOptions](https://ej2.syncfusion.com/angular/documentation/api/schedule/exportOptions#exporttype).
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -152,9 +152,9 @@ The Scheduler exports the event data to CSV format with `,` as separator. You ca
### How to customize the excel sheet on before exporting
-Customizing an Excel sheet before export is made easy with the [`excelExport`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#excelExport) event. This event provides users with robust flexibility to tailor the exported data, format it according to specific needs, and include additional elements for enhanced presentation.
+Customizing an Excel sheet before export is made easy with the [`excelExport`](https://ej2.syncfusion.com/angular/documentation/api/schedule#excelExport) event. This event provides users with robust flexibility to tailor the exported data, format it according to specific needs, and include additional elements for enhanced presentation.
-With the [`excelExport`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#excelExport) event, you can:
+With the [`excelExport`](https://ej2.syncfusion.com/angular/documentation/api/schedule#excelExport) event, you can:
- **Adjust the formatting:** Apply specific styles such as font type, size, color, and cell formatting to make the output visually appealing and consistent with your requirements.
@@ -162,7 +162,7 @@ With the [`excelExport`](https://ej2.syncfusion.com/angular/documentation/api/sc
- **Cancel the export:** The event supports cancellation of the export process by setting the `cancel` property to `true`. This feature ensures you can prevent export based on specific conditions, offering you full control over the Excel export workflow.
-Here’s an example of how you can add a custom header and footer to an Excel sheet before exporting using the [`excelExport`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#excelExport) event.
+Here’s an example of how you can add a custom header and footer to an Excel sheet before exporting using the [`excelExport`](https://ej2.syncfusion.com/angular/documentation/api/schedule#excelExport) event.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -180,7 +180,7 @@ Here’s an example of how you can add a custom header and footer to an Excel sh
You can export the Scheduler events to a calendar (.ics) file format, and open it on any of the other default calendars such as Google or Outlook. To export the events of Scheduler to an ICS file, you need to first import the `ICalendarExport` module from `@syncfusion/ej2-schedule` package and then inject it using the `Schedule.Inject(ICalendarExport)` method.
-The following code example shows how the Scheduler events are exported to a calendar (.ics) file by making use of the [`exportToICalendar`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#exporttoicalendar) public method.
+The following code example shows how the Scheduler events are exported to a calendar (.ics) file by making use of the [`exportToICalendar`](https://ej2.syncfusion.com/angular/documentation/api/schedule#exporttoicalendar) public method.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -243,7 +243,7 @@ The Scheduler allows you to print the Scheduler element by using the `print` cli
### Using print method without options
-You can print the Schedule element with the current view by using the [`print`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#print) method without passing the options. The following example shows how to print the Scheduler using the [`print`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#print) method without passing options.
+You can print the Schedule element with the current view by using the [`print`](https://ej2.syncfusion.com/angular/documentation/api/schedule#print) method without passing the options. The following example shows how to print the Scheduler using the [`print`](https://ej2.syncfusion.com/angular/documentation/api/schedule#print) method without passing options.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -259,7 +259,7 @@ You can print the Schedule element with the current view by using the [`print`](
### Using print method with options
-You can print the Schedule element based on your needs using the [`print`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#print) method by passing the print options used in this example with its values. The following example shows how to print the Scheduler using the [`print`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#print) method by passing the options.
+You can print the Schedule element based on your needs using the [`print`](https://ej2.syncfusion.com/angular/documentation/api/schedule#print) method by passing the print options used in this example with its values. The following example shows how to print the Scheduler using the [`print`](https://ej2.syncfusion.com/angular/documentation/api/schedule#print) method by passing the options.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -275,14 +275,14 @@ You can print the Schedule element based on your needs using the [`print`](https
### Customizing the print layout
-The [`beforePrint`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#beforePrint) event enables users to customize the print layout of the Scheduler control without altering the actual schedule layout or data. This event returns the HTML element used for printing, which can be tailored based on specific requirements before the print operation is triggered. Additionally, users can prevent the print action by setting the `cancel` property to `true`, giving them full control over when and how the print operation takes place.
+The [`beforePrint`](https://ej2.syncfusion.com/angular/documentation/api/schedule#beforePrint) event enables users to customize the print layout of the Scheduler control without altering the actual schedule layout or data. This event returns the HTML element used for printing, which can be tailored based on specific requirements before the print operation is triggered. Additionally, users can prevent the print action by setting the `cancel` property to `true`, giving them full control over when and how the print operation takes place.
Key customization options:
- **Customizing the header and footer:** Add custom header and footer content of the print layout to include additional information.
- **Controlling print output:** Fine-tune the layout to ensure that only the necessary details are printed, ensuring a clean and structured printout.
-Here’s an example of how you can add a custom header and footer to the print layout using the [`beforePrint`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#beforePrint) event.
+Here’s an example of how you can add a custom header and footer to the print layout using the [`beforePrint`](https://ej2.syncfusion.com/angular/documentation/api/schedule#beforePrint) event.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
diff --git a/ej2-angular/schedule/frequently-asked-questions.md b/ej2-angular/schedule/frequently-asked-questions.md
index 265bc693402..7b01659e98b 100644
--- a/ej2-angular/schedule/frequently-asked-questions.md
+++ b/ej2-angular/schedule/frequently-asked-questions.md
@@ -106,7 +106,7 @@ The above problem occurs when missing CSS references for the scheduler in a proj
## QuickInfoTemplate at bottom
-When using the [`quickInfoTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#quickinfotemplates) in scheduler, sometimes quickinfo popup not shown fully at the bottom area of scheduler. You can resolve this by using [`cellClick`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#cellclick) and [`eventClick`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#eventclick) events and below code snippet.
+When using the [`quickInfoTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#quickinfotemplates) in scheduler, sometimes quickinfo popup not shown fully at the bottom area of scheduler. You can resolve this by using [`cellClick`](https://ej2.syncfusion.com/angular/documentation/api/schedule#cellclick) and [`eventClick`](https://ej2.syncfusion.com/angular/documentation/api/schedule#eventclick) events and below code snippet.
```typescript
diff --git a/ej2-angular/schedule/google-calendar.md b/ej2-angular/schedule/google-calendar.md
index e4be7a219b6..b5b375f0376 100644
--- a/ej2-angular/schedule/google-calendar.md
+++ b/ej2-angular/schedule/google-calendar.md
@@ -10,7 +10,7 @@ domainurl: ##DomainURL##
# Google Calendar API Integration with Syncfusion Angular Scheduler
-This [Syncfusion® Angular Scheduler](https://www.syncfusion.com/angular-components/angular-scheduler) allows users to manage their [Google Calendar](https://www.google.com/calendar/about/) events directly within the Scheduler. Changes made in the Scheduler are synced to Google Calendar, and existing Google events are displayed in the Scheduler interface.
+This [Syncfusion® Angular Scheduler](https://www.syncfusion.com/angular-components/angular-scheduler) allows users to manage their [Google Calendar](https://www.google.com/calendar/about) events directly within the Scheduler. Changes made in the Scheduler are synced to Google Calendar, and existing Google events are displayed in the Scheduler interface.
## Prerequisites
diff --git a/ej2-angular/schedule/graphql-adaptor.md b/ej2-angular/schedule/graphql-adaptor.md
index e6c6943279c..9b12187e626 100644
--- a/ej2-angular/schedule/graphql-adaptor.md
+++ b/ej2-angular/schedule/graphql-adaptor.md
@@ -10,7 +10,7 @@ domainurl: ##DomainURL##
# Connecting Syncfusion Angular Scheduler to GraphQL backend in Node.js
-[GraphQL](https://graphql.org/learn/introduction/) is a query language that allows applications to request exactly the data needed, nothing more and nothing less. Unlike traditional REST APIs that return fixed data structures, GraphQL enables the client to specify the shape and content of the response.
+[GraphQL](https://graphql.org/learn/introduction) is a query language that allows applications to request exactly the data needed, nothing more and nothing less. Unlike traditional REST APIs that return fixed data structures, GraphQL enables the client to specify the shape and content of the response.
**Traditional REST APIs** and `GraphQL` differ mainly in the way data is requested and returned: **REST APIs expose** multiple endpoints that return fixed data structures, often including unnecessary fields and requiring several requests to fetch related data, while `GraphQL` uses a single endpoint where queries define the exact fields needed, enabling precise responses and allowing related data to be retrieved efficiently in one request. This makes `GraphQL` especially useful for **Angular Scheduler integration**, the **reason** is that data‑centric UI components require well‑structured and selective datasets to minimize network usage and ensure smooth, high‑performance interactions.
@@ -21,7 +21,7 @@ domainurl: ##DomainURL##
- **Resolvers**: Each query or mutation is handled by a resolver, which is a function responsible for fetching data or executing an operation. **Query resolvers** handle **read operations**, while **mutation resolvers** handle **write operations**.
- **Schema**: Defines the structure of the API. The schema describes available data types, the fields within those types, and the operations that can be executed. Query definitions specify the way data can be retrieved, and mutation definitions specify the way data can be modified.
-[Node.js](https://nodejs.org/en/learn/getting-started/introduction-to-nodejs) is a fast and efficient JavaScript runtime built on Google’s V8 engine. It enables JavaScript to run on the server, making it a popular platform for building web APIs, real‑time applications, and modern backend services. Node.js offers a non‑blocking, event‑driven architecture that supports high performance and scalability.
+[Node.js](https://nodejs.org/learn/getting-started/introduction-to-nodejs) is a fast and efficient JavaScript runtime built on Google’s V8 engine. It enables JavaScript to run on the server, making it a popular platform for building web APIs, real‑time applications, and modern backend services. Node.js offers a non‑blocking, event‑driven architecture that supports high performance and scalability.
## Prerequisites
diff --git a/ej2-angular/schedule/header-bar.md b/ej2-angular/schedule/header-bar.md
index b09556dbfa8..5fa048f8373 100644
--- a/ej2-angular/schedule/header-bar.md
+++ b/ej2-angular/schedule/header-bar.md
@@ -14,7 +14,7 @@ The header part of Scheduler can be customized easily with the built-in options
## Show or hide header bar
-By default, the header bar holds the date and view navigation options, through which the user can switch between dates and various views. This header bar can be hidden from the UI by setting `false` to the [`showHeaderBar`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#showheaderbar) property. It's default value is `true`.
+By default, the header bar holds the date and view navigation options, through which the user can switch between dates and various views. This header bar can be hidden from the UI by setting `false` to the [`showHeaderBar`](https://ej2.syncfusion.com/angular/documentation/api/schedule#showheaderbar) property. It's default value is `true`.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -32,7 +32,7 @@ By default, the header bar holds the date and view navigation options, through w
## Customizing header bar using template
-Apart from the default date navigation and view options on the header bar, you can add custom items into the Scheduler header bar by making use of the [`toolbarItems`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#toolbaritems) property. To display the default items, it's essential to assign a [`name`](https://ej2.syncfusion.com/angular/documentation/api/schedule/toolbarItem/#name) field to each item. The names of the default items are `Previous`, `Next`, `Today`, `DateRangeText`, `NewEvent`, and `Views`. For custom items you can give the name as `Custom` to the `name` field. Here, the default items such as previous, next, date range text, and today have been used along with dropdownlist as custom items.
+Apart from the default date navigation and view options on the header bar, you can add custom items into the Scheduler header bar by making use of the [`toolbarItems`](https://ej2.syncfusion.com/angular/documentation/api/schedule#toolbaritems) property. To display the default items, it's essential to assign a [`name`](https://ej2.syncfusion.com/angular/documentation/api/schedule/toolbarItem#name) field to each item. The names of the default items are `Previous`, `Next`, `Today`, `DateRangeText`, `NewEvent`, and `Views`. For custom items you can give the name as `Custom` to the `name` field. Here, the default items such as previous, next, date range text, and today have been used along with dropdownlist as custom items.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -48,7 +48,7 @@ Apart from the default date navigation and view options on the header bar, you c
## Customizing header bar using event
-You can also use the [`actionBegin`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#actionbegin) event to inject custom header items. In this example, an employee image is added to the header bar; clicking it opens a popup with the person's profile information.
+You can also use the [`actionBegin`](https://ej2.syncfusion.com/angular/documentation/api/schedule#actionbegin) event to inject custom header items. In this example, an employee image is added to the header bar; clicking it opens a popup with the person's profile information.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -64,7 +64,7 @@ You can also use the [`actionBegin`](https://ej2.syncfusion.com/angular/document
## How to display the view options within the header bar popup
-By default, the header bar holds the view navigation options, through which the user can switch between various views. You can move this view options to the header bar popup by setting `true` to the [`enableAdaptiveUI`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#enableadaptiveui) property.
+By default, the header bar holds the view navigation options, through which the user can switch between various views. You can move this view options to the header bar popup by setting `true` to the [`enableAdaptiveUI`](https://ej2.syncfusion.com/angular/documentation/api/schedule#enableadaptiveui) property.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -84,11 +84,11 @@ By default, the header bar holds the view navigation options, through which the
## Date header customization
-The Scheduler UI that displays the date text on all views are considered as the date header cells. You can customize the date header cells of Scheduler either using [`dateHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#dateheadertemplate) or [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#rendercell) event.
+The Scheduler UI that displays the date text on all views are considered as the date header cells. You can customize the date header cells of Scheduler either using [`dateHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#dateheadertemplate) or [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule#rendercell) event.
### Using date header template
-The [`dateHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#dateheadertemplate) option customizes the date header cells of day, week, and work-week views.
+The [`dateHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#dateheadertemplate) option customizes the date header cells of day, week, and work-week views.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -106,7 +106,7 @@ The [`dateHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/
### Using renderCell event
-In month view, the date header template is not applicable and therefore the same customization can be added beside the date text in month cells by making use of the [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#rendercell) event.
+In month view, the date header template is not applicable and therefore the same customization can be added beside the date text in month cells by making use of the [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule#rendercell) event.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -122,9 +122,9 @@ In month view, the date header template is not applicable and therefore the same
## Customizing the date range text
-The [`dateRangeTemplate`](../api/schedule/#daterangetemplate) option allows you to customize the text content of the date range displayed in the scheduler. By default, the date range text is determined by the scheduler view being used. However, you can use the [`dateRangeTemplate`](../api/schedule/#daterangetemplate) option to override the default text and specify your own custom text to be displayed.
+The [`dateRangeTemplate`](../api/schedule#daterangetemplate) option allows you to customize the text content of the date range displayed in the scheduler. By default, the date range text is determined by the scheduler view being used. However, you can use the [`dateRangeTemplate`](../api/schedule#daterangetemplate) option to override the default text and specify your own custom text to be displayed.
-The [`dateRangeTemplate`](../api/schedule/#daterangetemplate) property includes `startDate`, `endDate` and `currentView` options, you can customize the date range text using these available options.
+The [`dateRangeTemplate`](../api/schedule#daterangetemplate) property includes `startDate`, `endDate` and `currentView` options, you can customize the date range text using these available options.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -140,7 +140,7 @@ The [`dateRangeTemplate`](../api/schedule/#daterangetemplate) property includes
## Customizing header indent cells
-It is possible to customize the header indent cells using the [`headerIndentTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#headerindenttemplate) option and change the look and appearance in both the vertical and timeline views. In vertical views, You can customize the header indent cells at the hierarchy level and you can customize the resource header left indent cell in timeline views using the template option.
+It is possible to customize the header indent cells using the [`headerIndentTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#headerindenttemplate) option and change the look and appearance in both the vertical and timeline views. In vertical views, You can customize the header indent cells at the hierarchy level and you can customize the resource header left indent cell in timeline views using the template option.
**Example:** To customize the header left indent cell to display resources text, refer to the below code example.
diff --git a/ej2-angular/schedule/header-rows.md b/ej2-angular/schedule/header-rows.md
index a8c91bec496..924ecfeff04 100644
--- a/ej2-angular/schedule/header-rows.md
+++ b/ej2-angular/schedule/header-rows.md
@@ -10,7 +10,7 @@ domainurl: ##DomainURL##
# Header rows in Angular Schedule component
-The Timeline views can have additional header rows other than its default date and time header rows. It is possible to show individual header rows for displaying year, month and week separately using the [`headerRows`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#headerrows) property. This property is applicable only on the Timeline views. The possible rows which can be added using `headerRows` property are as follows.
+The Timeline views can have additional header rows other than its default date and time header rows. It is possible to show individual header rows for displaying year, month and week separately using the [`headerRows`](https://ej2.syncfusion.com/angular/documentation/api/schedule#headerrows) property. This property is applicable only on the Timeline views. The possible rows which can be added using `headerRows` property are as follows.
* `Year`
* `Month`
@@ -42,7 +42,7 @@ The example below shows the Scheduler displaying all available header rows in Ti
## Display year and month rows in Timeline views
-To display only the year and month header rows in the Scheduler, specify `Year` and `Month` in the [`headerRows`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#headerrows) property.
+To display only the year and month header rows in the Scheduler, specify `Year` and `Month` in the [`headerRows`](https://ej2.syncfusion.com/angular/documentation/api/schedule#headerrows) property.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -60,7 +60,7 @@ To display only the year and month header rows in the Scheduler, specify `Year`
## Display week numbers in Timeline views
-The week number can be displayed in a separate header row of the Timeline Scheduler by setting `Week` option within [`headerRows`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#headerrows) property.
+The week number can be displayed in a separate header row of the Timeline Scheduler by setting `Week` option within [`headerRows`](https://ej2.syncfusion.com/angular/documentation/api/schedule#headerrows) property.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -78,7 +78,7 @@ The week number can be displayed in a separate header row of the Timeline Schedu
## Timeline view displaying dates of a complete year
-You can display a full year in a Timeline view by setting the [`interval`](https://ej2.syncfusion.com/angular/documentation/api/schedule/views/#interval) to 12 and including the **TimelineMonth** view in the [`views`](https://ej2.syncfusion.com/angular/documentation/api/schedule/views/) property.
+You can display a full year in a Timeline view by setting the [`interval`](https://ej2.syncfusion.com/angular/documentation/api/schedule/views#interval) to 12 and including the **TimelineMonth** view in the [`views`](https://ej2.syncfusion.com/angular/documentation/api/schedule/views) property.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -96,7 +96,7 @@ You can display a full year in a Timeline view by setting the [`interval`](https
## Customizing header rows with templates
-You can customize the text of the header rows and display any images or formatted text on each individual header rows using the built-in [`template`](https://ej2.syncfusion.com/angular/documentation/api/schedule/headerRowDirective/#template) option available within the [`headerRows`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#headerrows) property.
+You can customize the text of the header rows and display any images or formatted text on each individual header rows using the built-in [`template`](https://ej2.syncfusion.com/angular/documentation/api/schedule/headerRowDirective#template) option available within the [`headerRows`](https://ej2.syncfusion.com/angular/documentation/api/schedule#headerrows) property.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
diff --git a/ej2-angular/schedule/how-to/add-edit-and-remove-events.md b/ej2-angular/schedule/how-to/add-edit-and-remove-events.md
index bfbd3bffee9..be07d7a6dda 100644
--- a/ej2-angular/schedule/how-to/add-edit-and-remove-events.md
+++ b/ej2-angular/schedule/how-to/add-edit-and-remove-events.md
@@ -10,7 +10,7 @@ domainurl: ##DomainURL##
# Add edit and remove events in Angular Schedule component
-CRUD actions can be manually performed on appointments using the [`addEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#addevent), [`saveEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#saveevent), and [`deleteEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#deleteevent) methods in the Syncfusion Angular Schedule component, as shown below.
+CRUD actions can be manually performed on appointments using the [`addEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule#addevent), [`saveEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule#saveevent), and [`deleteEvent`](https://ej2.syncfusion.com/angular/documentation/api/schedule#deleteevent) methods in the Syncfusion Angular Schedule component, as shown below.
## Normal events
diff --git a/ej2-angular/schedule/how-to/display-multiple-colors-in-single-event.md b/ej2-angular/schedule/how-to/display-multiple-colors-in-single-event.md
index e5294e5ec11..1012089d1e6 100644
--- a/ej2-angular/schedule/how-to/display-multiple-colors-in-single-event.md
+++ b/ej2-angular/schedule/how-to/display-multiple-colors-in-single-event.md
@@ -10,7 +10,7 @@ domainurl: ##DomainURL##
# Multi-Color events in Angular Schedule component
-In Scheduler we can display the multiple colors within a single event. This can be achieved by using the `template` option available within the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/) property. Here, we've used `SubCount` as an additional field. The SubCount field contains the background color and height values. Based on these values, events will be divided into different colors.
+In Scheduler we can display the multiple colors within a single event. This can be achieved by using the `template` option available within the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings) property. Here, we've used `SubCount` as an additional field. The SubCount field contains the background color and height values. Based on these values, events will be divided into different colors.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
diff --git a/ej2-angular/schedule/how-to/enable-scroll-option-on-all-day-section.md b/ej2-angular/schedule/how-to/enable-scroll-option-on-all-day-section.md
index 900156c3ebf..d8a67ace6e3 100644
--- a/ej2-angular/schedule/how-to/enable-scroll-option-on-all-day-section.md
+++ b/ej2-angular/schedule/how-to/enable-scroll-option-on-all-day-section.md
@@ -10,7 +10,7 @@ domainurl: ##DomainURL##
# Enable scroll option on all day section in Angular Schedule component
-When you have a large number of appointments in the all-day row, it can be difficult to view them properly. In this case, you can enable an individual scroller for the all-day row by setting the [`enableAllDayScroll`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#enablealldayscroll) property to `true`, whereas its default value is `false`. When set to `true`, the all-day row displays a scroller when expanded beyond its maximum height.
+When you have a large number of appointments in the all-day row, it can be difficult to view them properly. In this case, you can enable an individual scroller for the all-day row by setting the [`enableAllDayScroll`](https://ej2.syncfusion.com/angular/documentation/api/schedule#enablealldayscroll) property to `true`, whereas its default value is `false`. When set to `true`, the all-day row displays a scroller when expanded beyond its maximum height.
> Note: This property is not applicable for Scheduler with height `auto`.
diff --git a/ej2-angular/schedule/how-to/half-yearly-view.md b/ej2-angular/schedule/how-to/half-yearly-view.md
index 578a158dbd2..23249dfea9f 100644
--- a/ej2-angular/schedule/how-to/half-yearly-view.md
+++ b/ej2-angular/schedule/how-to/half-yearly-view.md
@@ -12,9 +12,9 @@ domainurl: ##DomainURL##
The year view of the Schedule component displays all 365 days and their appointments for a given year. You can customize this view by using the following properties:
-* [`firstMonthOfYear`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#firstmonthofyear)
-* [`monthsCount`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#monthscount)
-* [`monthHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#monthheadertemplate)
+* [`firstMonthOfYear`](https://ej2.syncfusion.com/angular/documentation/api/schedule#firstmonthofyear)
+* [`monthsCount`](https://ej2.syncfusion.com/angular/documentation/api/schedule#monthscount)
+* [`monthHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#monthheadertemplate)
In the following code example, you can see how to render only the last six months of a year in the Schedule component. To start with June, set `firstMonthOfYear` to 6 and `monthsCount` to 6 to render six consecutive months.
diff --git a/ej2-angular/schedule/how-to/manual-refresh.md b/ej2-angular/schedule/how-to/manual-refresh.md
index 63a7f90a4d2..366855f3112 100644
--- a/ej2-angular/schedule/how-to/manual-refresh.md
+++ b/ej2-angular/schedule/how-to/manual-refresh.md
@@ -12,7 +12,7 @@ domainurl: ##DomainURL##
## Refresh Template
-In the Scheduler component, you can refresh specific template element without re-rendering the entire component by using the [`refreshTemplates`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#refreshtemplates) public method. We can provide an additional option to refresh specific templates alone or all templates together by using this method. The following template names are accepted as an argument to refresh it specifically.
+In the Scheduler component, you can refresh specific template element without re-rendering the entire component by using the [`refreshTemplates`](https://ej2.syncfusion.com/angular/documentation/api/schedule#refreshtemplates) public method. We can provide an additional option to refresh specific templates alone or all templates together by using this method. The following template names are accepted as an argument to refresh it specifically.
* `eventTemplate`
* `dateHeaderTemplate`
@@ -22,7 +22,7 @@ In the Scheduler component, you can refresh specific template element without re
* `tooltipTemplate`
* `headerTooltipTemplate`
-In the following code example, you can see how to use the refreshTemplates method to refresh multiple templates. Here, we have added the following scheduler templates such as [`cellTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#celltemplate), [`dateHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#dateheadertemplate), [`eventTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#eventtemplate) and [`resourceHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#resourceheadertemplate)
+In the following code example, you can see how to use the refreshTemplates method to refresh multiple templates. Here, we have added the following scheduler templates such as [`cellTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#celltemplate), [`dateHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#dateheadertemplate), [`eventTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#eventtemplate) and [`resourceHeaderTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule#resourceheadertemplate)
{% tabs %}
{% highlight html tabtitle="app.component.html" %}
@@ -41,7 +41,7 @@ In the following code example, you can see how to use the refreshTemplates metho
## Refresh Layout
-In Scheduler, we can able to refresh the layout manually without re-render the DOM element by using the [`refreshLayout`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#refreshlayout) public method. The following example code explains to know how to use the refreshLayout method.
+In Scheduler, we can able to refresh the layout manually without re-render the DOM element by using the [`refreshLayout`](https://ej2.syncfusion.com/angular/documentation/api/schedule#refreshlayout) public method. The following example code explains to know how to use the refreshLayout method.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
diff --git a/ej2-angular/schedule/how-to/open-event-editor-manually.md b/ej2-angular/schedule/how-to/open-event-editor-manually.md
index 1c8ea3a01fa..066bed97b00 100644
--- a/ej2-angular/schedule/how-to/open-event-editor-manually.md
+++ b/ej2-angular/schedule/how-to/open-event-editor-manually.md
@@ -12,7 +12,7 @@ domainurl: ##DomainURL##
## Open Editor Window externally
-The Schedule component allows users to manually open the event editor at a specific time or in response to certain events by using the [`openEditor`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#openeditor) method, as shown below.
+The Schedule component allows users to manually open the event editor at a specific time or in response to certain events by using the [`openEditor`](https://ej2.syncfusion.com/angular/documentation/api/schedule#openeditor) method, as shown below.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -28,7 +28,7 @@ The Schedule component allows users to manually open the event editor at a speci
## Open editor window on single click
-By default, the Scheduler editor window opens when double-clicking cells or appointments. To open the editor window with a single click, use the [`openEditor`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#openeditor) method in [`eventClick`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#eventclick) and [`cellClick`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#cellclick) events handlers, and set the [`showQuickInfo`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#showquickinfo) property to `false`. The following example shows how to open editor window on single click of cells and appointments.
+By default, the Scheduler editor window opens when double-clicking cells or appointments. To open the editor window with a single click, use the [`openEditor`](https://ej2.syncfusion.com/angular/documentation/api/schedule#openeditor) method in [`eventClick`](https://ej2.syncfusion.com/angular/documentation/api/schedule#eventclick) and [`cellClick`](https://ej2.syncfusion.com/angular/documentation/api/schedule#cellclick) events handlers, and set the [`showQuickInfo`](https://ej2.syncfusion.com/angular/documentation/api/schedule#showquickinfo) property to `false`. The following example shows how to open editor window on single click of cells and appointments.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
diff --git a/ej2-angular/schedule/how-to/prevent-date-navigation.md b/ej2-angular/schedule/how-to/prevent-date-navigation.md
index 2662ff18e0e..8e2c2892461 100644
--- a/ej2-angular/schedule/how-to/prevent-date-navigation.md
+++ b/ej2-angular/schedule/how-to/prevent-date-navigation.md
@@ -10,7 +10,7 @@ domainurl: ##DomainURL##
# Prevent date navigation in Angular Schedule component
-We can prevent navigation while clicking on the date header by simply removing `e-navigate` class from header cells which can be achieved in the [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#rendercell) event as shown in the below demo.
+We can prevent navigation while clicking on the date header by simply removing `e-navigate` class from header cells which can be achieved in the [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule#rendercell) event as shown in the below demo.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
diff --git a/ej2-angular/schedule/how-to/set-different-work-hours.md b/ej2-angular/schedule/how-to/set-different-work-hours.md
index d8983624165..28a0d41e50b 100644
--- a/ej2-angular/schedule/how-to/set-different-work-hours.md
+++ b/ej2-angular/schedule/how-to/set-different-work-hours.md
@@ -10,7 +10,7 @@ domainurl: ##DomainURL##
# Set different work hours in Angular Schedule component
-By default, the work hours of the Scheduler are highlighted based on the start and end values provided in the [`workHours`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#workhours) property, which remains the same for all days. To highlight different work hours range for specific days, use the[`setWorkHours`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#setworkhours) method.
+By default, the work hours of the Scheduler are highlighted based on the start and end values provided in the [`workHours`](https://ej2.syncfusion.com/angular/documentation/api/schedule#workhours) property, which remains the same for all days. To highlight different work hours range for specific days, use the[`setWorkHours`](https://ej2.syncfusion.com/angular/documentation/api/schedule#setworkhours) method.
You can pass date object/ multiple date objects collection as first argument and start and end time need to be added as work hours should be passed as second and third arguments respectively. In the following code example, on button click 11:00 AM to 08:00 PM of 15th and 17th February has been added in work hours.
diff --git a/ej2-angular/schedule/how-to/show-tool-tip-with-delay.md b/ej2-angular/schedule/how-to/show-tool-tip-with-delay.md
index 42a05185c7d..5bc65097f23 100644
--- a/ej2-angular/schedule/how-to/show-tool-tip-with-delay.md
+++ b/ej2-angular/schedule/how-to/show-tool-tip-with-delay.md
@@ -10,7 +10,7 @@ domainurl: ##DomainURL##
# Show tooltip delay in Angular Schedule component
-By default, the Schedule tooltip is displayed immediately. You can introduce a delay before the tooltip appears by setting the Tooltip [`openDelay`](https://ej2.syncfusion.com/angular/documentation/api/tooltip/tooltipModel/#opendelay) property.
+By default, the Schedule tooltip is displayed immediately. You can introduce a delay before the tooltip appears by setting the Tooltip [`openDelay`](https://ej2.syncfusion.com/angular/documentation/api/tooltip/tooltipModel#opendelay) property.
The following example demonstrates how to configure the tooltip delay in the Schedule component.
diff --git a/ej2-angular/schedule/ionic.md b/ej2-angular/schedule/ionic.md
index bf7463e0000..4c6e491b843 100644
--- a/ej2-angular/schedule/ionic.md
+++ b/ej2-angular/schedule/ionic.md
@@ -9,7 +9,7 @@ domainurl: ##DomainURL##
---
# Getting Started with Ionic and Angular with Syncfusion Scheduler
-This guide provides a step-by-step walkthrough for creating an Angular application with the [Ionic Framework](https://ionicframework.com/), featuring integration of Syncfusion® Angular UI components for modern, responsive interfaces.
+This guide provides a step-by-step walkthrough for creating an Angular application with the [Ionic Framework](https://ionicframework.com), featuring integration of Syncfusion® Angular UI components for modern, responsive interfaces.
## Prerequisites
diff --git a/ej2-angular/schedule/localization.md b/ej2-angular/schedule/localization.md
index 104b411456d..944389a3b53 100644
--- a/ej2-angular/schedule/localization.md
+++ b/ej2-angular/schedule/localization.md
@@ -16,7 +16,7 @@ You can adapt the Scheduler to various languages by parsing and formatting numbe
## Globalization
-The Internationalization library supports formatting and parsing numbers, dates, and times using the official [`Unicode CLDR`](https://cldr.unicode.org/) JSON data and provides the `loadCldr` method to load culture-specific CLDR JSON data.
+The Internationalization library supports formatting and parsing numbers, dates, and times using the official [`Unicode CLDR`](https://cldr.unicode.org) JSON data and provides the `loadCldr` method to load culture-specific CLDR JSON data.
By default, the Scheduler follows the English culture (`en-US`). To use a different culture, follow these steps:
@@ -215,7 +215,7 @@ L10n.load({
## Setting the date format
-Scheduler supports all valid date formats. By default, it uses the universal date format `"MM/dd/yyyy"`. If the [`dateFormat`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#dateformat) property is not specified particularly, then it will work based on the locale that is assigned to the Scheduler. As the default locale applied on Scheduler is `en-US`, this makes it to follow the `"MM/dd/yyyy"` pattern.
+Scheduler supports all valid date formats. By default, it uses the universal date format `"MM/dd/yyyy"`. If the [`dateFormat`](https://ej2.syncfusion.com/angular/documentation/api/schedule#dateformat) property is not specified particularly, then it will work based on the locale that is assigned to the Scheduler. As the default locale applied on Scheduler is `en-US`, this makes it to follow the `"MM/dd/yyyy"` pattern.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -233,9 +233,9 @@ Scheduler supports all valid date formats. By default, it uses the universal dat
## Setting the time format
-Time formats is a way of representing the time value in different string formats in the Scheduler. By default, the time mode of the Scheduler can be either 12 or 24 hours format which is completely based on the `locale` set to the Scheduler. Since the default `locale` value of the Scheduler is en-US, the time mode will be set to 12 hours format automatically. You can also customize the format by using the [`timeFormat`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#timeformat) property. To know more about the time format standards, refer to the [Date and Time Format](https://ej2.syncfusion.com/angular/documentation/common/internationalization#custom-formats) section.
+Time formats is a way of representing the time value in different string formats in the Scheduler. By default, the time mode of the Scheduler can be either 12 or 24 hours format which is completely based on the `locale` set to the Scheduler. Since the default `locale` value of the Scheduler is en-US, the time mode will be set to 12 hours format automatically. You can also customize the format by using the [`timeFormat`](https://ej2.syncfusion.com/angular/documentation/api/schedule#timeformat) property. To know more about the time format standards, refer to the [Date and Time Format](https://ej2.syncfusion.com/angular/documentation/common/internationalization#custom-formats) section.
->Note: [`timeFormat`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#timeformat) property only accepts the valid time format's.
+>Note: [`timeFormat`](https://ej2.syncfusion.com/angular/documentation/api/schedule#timeformat) property only accepts the valid time format's.
The following example demonstrates the Scheduler component in 24 hours format.
@@ -255,7 +255,7 @@ The following example demonstrates the Scheduler component in 24 hours format.
## Displaying Scheduler in RTL mode
-The Scheduler layout and its behavior can be changed as per the common RTL (Right to Left) conventions by setting [`enableRtl`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#enablertl) to `true`. By doing so, the Scheduler will display its usual layout from right to left. It's default value is `false`.
+The Scheduler layout and its behavior can be changed as per the common RTL (Right to Left) conventions by setting [`enableRtl`](https://ej2.syncfusion.com/angular/documentation/api/schedule#enablertl) to `true`. By doing so, the Scheduler will display its usual layout from right to left. It's default value is `false`.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
diff --git a/ej2-angular/schedule/module-injection.md b/ej2-angular/schedule/module-injection.md
index c73845b2059..b30ff44e407 100644
--- a/ej2-angular/schedule/module-injection.md
+++ b/ej2-angular/schedule/module-injection.md
@@ -40,6 +40,6 @@ The required modules should be injected into the Scheduler using the `@NgModule.
})
```
-**Note:** If the Scheduler's [`currentView`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#currentview) property is set to a view for which the corresponding module has not been injected, a script error will occur, and the Scheduler will fail to render.
+**Note:** If the Scheduler's [`currentView`](https://ej2.syncfusion.com/angular/documentation/api/schedule#currentview) property is set to a view for which the corresponding module has not been injected, a script error will occur, and the Scheduler will fail to render.
> You can refer to our [Angular Scheduler](https://www.syncfusion.com/angular-components/angular-scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [Angular Scheduler example](https://ej2.syncfusion.com/angular/demos/#/material/schedule/overview) to know how to present and manipulate data.
diff --git a/ej2-angular/schedule/mongodb-integration.md b/ej2-angular/schedule/mongodb-integration.md
index b91107e36b5..e8c29d9cb7a 100644
--- a/ej2-angular/schedule/mongodb-integration.md
+++ b/ej2-angular/schedule/mongodb-integration.md
@@ -16,7 +16,7 @@ MongoDB's schema-less design seamlessly supports complex scheduling data, making
## What is MongoDB?
-[MongoDB](https://www.mongodb.com/) is a highly scalable, document-oriented NoSQL database designed to store and manage large volumes of flexible, JSON-like data. It enables developers to work with dynamic schemas, making it easy to model complex and evolving application data without rigid table structures.
+[MongoDB](https://www.mongodb.com) is a highly scalable, document-oriented NoSQL database designed to store and manage large volumes of flexible, JSON-like data. It enables developers to work with dynamic schemas, making it easy to model complex and evolving application data without rigid table structures.
## Overview
This integration enables full CRUD (Create, Read, Update, Delete) operations for calendar events using:
@@ -382,7 +382,7 @@ All changes will be reflected in the connected **MongoDB** database in real time
2. **Dates stored as strings:** Convert StartTime/EndTime to Date objects on the server before inserting/updating. Otherwise, Scheduler rendering/timezone math may be off.
-3. **Immutable _id on update:** Remove _id from payload prior to updateOne (MongoDB forbids changing _id) [mongodb.com](https://www.mongodb.com/docs/drivers/node/v6.15/usage-examples/updateOne/).
+3. **Immutable _id on update:** Remove _id from payload prior to updateOne (MongoDB forbids changing _id) [mongodb.com](https://www.mongodb.com/docs/drivers/node/v6.15/usage-examples/updateOne).
4. **Missing CSS → broken editor/pickers:** Include Scheduler CSS (via ng add or styles.css) per [getting‑started docs](https://ej2.syncfusion.com/angular/documentation/schedule/getting-started#adding-css-reference).
diff --git a/ej2-angular/schedule/recurrence-editor.md b/ej2-angular/schedule/recurrence-editor.md
index 17aa41dca88..df33a43a5c2 100644
--- a/ej2-angular/schedule/recurrence-editor.md
+++ b/ej2-angular/schedule/recurrence-editor.md
@@ -24,7 +24,7 @@ By default, the recurrence editor provides five repeat options:
* Monthly
* Yearly
-You can customize the recurrence editor to display only specific repeat options, such as `Daily` and `Weekly`, by setting the [`frequencies`](https://ej2.syncfusion.com/angular/documentation/api/recurrence-editor/#frequencies) property.
+You can customize the recurrence editor to display only specific repeat options, such as `Daily` and `Weekly`, by setting the [`frequencies`](https://ej2.syncfusion.com/angular/documentation/api/recurrence-editor#frequencies) property.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -61,7 +61,7 @@ By default, the recurrence editor provides three end options:
* Until
* Count
-You can customize the recurrence editor to display only specific end options, such as `Until` and `Count`, by setting the [`endTypes`](https://ej2.syncfusion.com/react/documentation/api/recurrence-editor/#endtypes) property.
+You can customize the recurrence editor to display only specific end options, such as `Until` and `Count`, by setting the [`endTypes`](https://ej2.syncfusion.com/react/documentation/api/recurrence-editor#endtypes) property.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
diff --git a/ej2-angular/schedule/resources.md b/ej2-angular/schedule/resources.md
index 5a9da8049a0..6e48d985a47 100644
--- a/ej2-angular/schedule/resources.md
+++ b/ej2-angular/schedule/resources.md
@@ -22,25 +22,25 @@ Learn how to add appointments of multiple resources to the Angular Scheduler fro
## Resource fields
-The default options available within the [`resources`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group/#resources) collection are as follows,
+The default options available within the [`resources`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group#resources) collection are as follows,
| Field name | Type | Description |
|------------|---------|---------------- |
-| [`field`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#field) | String | A value that binds to the resource field of event object. |
-| [`title`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#title) | String | It holds the title of the resource field to be displayed on the event editor window. |
-| [`name`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#name) | String | A unique resource name used for differentiating various resource objects while grouping. |
-| [`allowMultiple`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#allowmultiple) | Boolean | When set to `true`, allows multiple selection of resource names, thus creating multiple instances of same appointment for the selected resources. |
-| [`dataSource`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#datasource) | Object | Assigns the resource `dataSource`, where data can be passed either as an array of JavaScript objects, or else can create an instance of [`DataManager`](http://ej2.syncfusion.com/documentation/data/api-dataManager) in case of processing remote data and can be assigned to the `dataSource` property. With the remote data assigned to `dataSource`, check the available [adaptors](http://ej2.syncfusion.com/documentation/data/adaptors) to customize the data processing. |
-| [`query`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#query) | Query | Defines the external [`query`](http://ej2.syncfusion.com/documentation/data/api-query) that will be executed along with the data processing. |
-| [`idField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#idfield) | String | Binds the resource ID field name from the resources `dataSource`. |
-| [`expandedField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#expandedfield) | String | Binds the `expandedField` name from the resources `dataSource`. It usually holds boolean value which decide whether the resource of timeline views is in collapse or expand state on initial load. |
-| [`textField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#textfield) | String | Binds the text field name from the resources `dataSource`. It usually holds the resource names. |
-| [`groupIDField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#groupidfield) | String | Binds the group ID field name from the resource `dataSource`. It usually holds the value of resource IDs of parent level resources. |
-| [`colorField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#colorfield) | String | Binds the color field name from the resource `dataSource`. The color value mapped in this field will be applied to the events of resources. |
-| [`startHourField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#starthourfield) | String | Binds the start hour field name from the resource `dataSource`. It allows to provide different work start hour for the resources. |
-| [`endHourField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#expandedfield) | String | Binds the end hour field name from the resource `dataSource`. It allows to provide different work end hour for the resources. |
-| [`workDaysField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#workdaysfield) | String | Binds the work days field name from the resources `dataSource`. It allows to provide different working days collection for the resources. |
-| [`cssClassField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#cssclassfield) | String | Binds the custom CSS class field name from the resources `dataSource`. It maps the CSS class written for the specific resources and applies it to the events of those resources. |
+| [`field`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#field) | String | A value that binds to the resource field of event object. |
+| [`title`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#title) | String | It holds the title of the resource field to be displayed on the event editor window. |
+| [`name`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#name) | String | A unique resource name used for differentiating various resource objects while grouping. |
+| [`allowMultiple`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#allowmultiple) | Boolean | When set to `true`, allows multiple selection of resource names, thus creating multiple instances of same appointment for the selected resources. |
+| [`dataSource`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#datasource) | Object | Assigns the resource `dataSource`, where data can be passed either as an array of JavaScript objects, or else can create an instance of [`DataManager`](http://ej2.syncfusion.com/documentation/data/api-dataManager) in case of processing remote data and can be assigned to the `dataSource` property. With the remote data assigned to `dataSource`, check the available [adaptors](http://ej2.syncfusion.com/documentation/data/adaptors) to customize the data processing. |
+| [`query`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#query) | Query | Defines the external [`query`](http://ej2.syncfusion.com/documentation/data/api-query) that will be executed along with the data processing. |
+| [`idField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#idfield) | String | Binds the resource ID field name from the resources `dataSource`. |
+| [`expandedField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#expandedfield) | String | Binds the `expandedField` name from the resources `dataSource`. It usually holds boolean value which decide whether the resource of timeline views is in collapse or expand state on initial load. |
+| [`textField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#textfield) | String | Binds the text field name from the resources `dataSource`. It usually holds the resource names. |
+| [`groupIDField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#groupidfield) | String | Binds the group ID field name from the resource `dataSource`. It usually holds the value of resource IDs of parent level resources. |
+| [`colorField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#colorfield) | String | Binds the color field name from the resource `dataSource`. The color value mapped in this field will be applied to the events of resources. |
+| [`startHourField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#starthourfield) | String | Binds the start hour field name from the resource `dataSource`. It allows to provide different work start hour for the resources. |
+| [`endHourField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#expandedfield) | String | Binds the end hour field name from the resource `dataSource`. It allows to provide different work end hour for the resources. |
+| [`workDaysField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#workdaysfield) | String | Binds the work days field name from the resources `dataSource`. It allows to provide different working days collection for the resources. |
+| [`cssClassField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#cssclassfield) | String | Binds the custom CSS class field name from the resources `dataSource`. It maps the CSS class written for the specific resources and applies it to the events of those resources. |
## Resource data binding
@@ -135,7 +135,7 @@ It is possible to display the Scheduler in default mode without visually showcas
The appointments belonging to the different resources will be displayed altogether on the default Scheduler, which will be differentiated based on the resource color assigned in the **resources** (depicting to which resource that particular appointment belongs) collection.
-**Example:** To display the default Scheduler with multiple resource options, define the [`resources`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#resources) property with all its options without using the `group` property.
+**Example:** To display the default Scheduler with multiple resource options, define the [`resources`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#resources) property with all its options without using the `group` property.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -151,7 +151,7 @@ The appointments belonging to the different resources will be displayed altogeth

-> Setting [`allowMultiple`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#allowmultiple) to `true` allows selecting multiple resources in the event editor and creates copies of the same appointment for each selected resource.
+> Setting [`allowMultiple`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#allowmultiple) to `true` allows selecting multiple resources in the event editor and creates copies of the same appointment for each selected resource.
## Resource grouping
@@ -201,7 +201,7 @@ The following code example depicts how to group the multiple resources on Timeli
### Grouping single-level resources
-This kind of grouping allows the Scheduler to display all the resources at a single level simultaneously. The appointments mapped under resources will be displayed with the colors as per the [`colorField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#colorfield) defined on the resources collection.
+This kind of grouping allows the Scheduler to display all the resources at a single level simultaneously. The appointments mapped under resources will be displayed with the colors as per the [`colorField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#colorfield) defined on the resources collection.
**Example:** To display the Scheduler with single level resource grouping:
@@ -219,11 +219,11 @@ This kind of grouping allows the Scheduler to display all the resources at a sin

-> The `name` field defined in the **resources** collection namely `Owners` will be mapped within the [`group`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#group) property, in order to enable the grouping option with those resource levels on the Scheduler.
+> The `name` field defined in the **resources** collection namely `Owners` will be mapped within the [`group`](https://ej2.syncfusion.com/angular/documentation/api/schedule#group) property, in order to enable the grouping option with those resource levels on the Scheduler.
### Grouping multi-level resources
-It is possible to group the resources of Scheduler in multiple levels, by mapping the child resources to each parent resource. In the following example, there are 2 levels of resources, on which the second level resources are defined with [`groupID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#groupidfield) mapping to the first level resource's ID so as to establish the parent-child relationship between them.
+It is possible to group the resources of Scheduler in multiple levels, by mapping the child resources to each parent resource. In the following example, there are 2 levels of resources, on which the second level resources are defined with [`groupID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#groupidfield) mapping to the first level resource's ID so as to establish the parent-child relationship between them.
**Example:** To display the Scheduler with multiple level resource grouping options:
@@ -243,7 +243,7 @@ It is possible to group the resources of Scheduler in multiple levels, by mappin
### One-to-one grouping
-In multi-level grouping, Scheduler usually groups the resources on the child level based on the [`GroupID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#groupidfield) that maps with the `Id` field of parent level resources (as [`byGroupID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group/#bygroupid) set to true by default). There are also option which allows you to group all the child resource(s) against each of its parent resource(s). To enable this kind of grouping, set `false` to the [`byGroupID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group/#bygroupid) option within the [`group`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#group) property. In the following code example, there are two levels of resources, on which all the 3 resources at the child level is mapped one to one with each resource on the first level.
+In multi-level grouping, Scheduler usually groups the resources on the child level based on the [`GroupID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#groupidfield) that maps with the `Id` field of parent level resources (as [`byGroupID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group#bygroupid) set to true by default). There are also option which allows you to group all the child resource(s) against each of its parent resource(s). To enable this kind of grouping, set `false` to the [`byGroupID`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group#bygroupid) option within the [`group`](https://ej2.syncfusion.com/angular/documentation/api/schedule#group) property. In the following code example, there are two levels of resources, on which all the 3 resources at the child level is mapped one to one with each resource on the first level.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -261,7 +261,7 @@ In multi-level grouping, Scheduler usually groups the resources on the child lev
### Grouping resources by date
-It groups the number of resources under each date and is applicable only on the calendar views such as Day, Week, Work Week, Month, Agenda and Month-Agenda. To enable such grouping, set [`byDate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group/#bydate) option to `true` within the [`group`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#group) property.
+It groups the number of resources under each date and is applicable only on the calendar views such as Day, Week, Work Week, Month, Agenda and Month-Agenda. To enable such grouping, set [`byDate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group#bydate) option to `true` within the [`group`](https://ej2.syncfusion.com/angular/documentation/api/schedule#group) property.
**Example:** To display the Scheduler with resources grouped by date:
@@ -283,7 +283,7 @@ It groups the number of resources under each date and is applicable only on the
## Customizing parent resource cells
-In timeline view work cells of parent resource can be customized by checking the [`elementType`](https://ej2.syncfusion.com/angular/documentation/api/schedule/renderCellEventArgs/#elementtype) as `resourceGroupCells` in the event [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#rendercell). In the following code example, background color of the work hours has been changed.
+In timeline view work cells of parent resource can be customized by checking the [`elementType`](https://ej2.syncfusion.com/angular/documentation/api/schedule/renderCellEventArgs#elementtype) as `resourceGroupCells` in the event [`renderCell`](https://ej2.syncfusion.com/angular/documentation/api/schedule#rendercell). In the following code example, background color of the work hours has been changed.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -299,7 +299,7 @@ In timeline view work cells of parent resource can be customized by checking the
## Working with shared events
-Multiple resources can share the same events, thus allowing the CRUD action made on it to reflect on all other shared instances simultaneously. To enable such option, set [`allowGroupEdit`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group/#allowgroupedit) option to `true` within the [`group`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group/) property. With this property enabled, a single appointment
+Multiple resources can share the same events, thus allowing the CRUD action made on it to reflect on all other shared instances simultaneously. To enable such option, set [`allowGroupEdit`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group#allowgroupedit) option to `true` within the [`group`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group) property. With this property enabled, a single appointment
object will be maintained within the appointment collection, even if it is shared by more than one resource – whereas the resource fields of such appointment object will be in array which hold the IDs of the multiple resources.
> Any actions such as create, edit or delete held on any one of the shared event instances, will be reflected on all other related instances visible on the UI.
@@ -324,7 +324,7 @@ object will be maintained within the appointment collection, even if it is share
It is possible to customize the resource header cells using built-in template option and change the look and appearance of it in both the vertical and timeline view modes. All the resource related fields and other information can be accessed within the resource header template option.
-**Example:** To customize the resource header and display it along with designation [`resource field`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/resources/), refer the below code example.
+**Example:** To customize the resource header and display it along with designation [`resource field`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/resources), refer the below code example.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -364,7 +364,7 @@ It is possible to customize the resource headers to display with multiple column
## Collapse/Expand child resources in timeline views
-It is possible to expand and collapse the resources which have child resource in timeline views dynamically. By default, resources are in expanded state with their child resource. We can collapse and expand the child resources in UI by setting [`expandedField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#expandedfield) option as `false` whereas its default value is `true`.
+It is possible to expand and collapse the resources which have child resource in timeline views dynamically. By default, resources are in expanded state with their child resource. We can collapse and expand the child resources in UI by setting [`expandedField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#expandedfield) option as `false` whereas its default value is `true`.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -380,7 +380,7 @@ It is possible to expand and collapse the resources which have child resource in
## Displaying tooltip for resource headers
-It is possible to display tooltips over the resource headers showing the resource information. By default, there won't be any tooltips displayed on the resource headers, and to enable it, you need to assign the customized template design to the [`headerTooltipTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group/#headertooltiptemplate) option within the [`group`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group/) property.
+It is possible to display tooltips over the resource headers showing the resource information. By default, there won't be any tooltips displayed on the resource headers, and to enable it, you need to assign the customized template design to the [`headerTooltipTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group#headertooltiptemplate) option within the [`group`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group) property.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -398,7 +398,7 @@ It is possible to display tooltips over the resource headers showing the resourc
## Choosing among resource colors for appointments
-By default, the colors defined on the top level resources collection will be applied for the events. In case, if you want to apply specific resource color to events irrespective of its top-level parent resource color, it can be achieved by defining [`resourceColorField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#resourcecolorfield) option within the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/) property.
+By default, the colors defined on the top level resources collection will be applied for the events. In case, if you want to apply specific resource color to events irrespective of its top-level parent resource color, it can be achieved by defining [`resourceColorField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#resourcecolorfield) option within the [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings) property.
In the following example, the colors mentioned in the second level will get applied over the events.
@@ -416,13 +416,13 @@ In the following example, the colors mentioned in the second level will get appl

-> The value of the `resourceColorField` field should be mapped with the [`name`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#name) value given within the [`resources`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/) property.
+> The value of the `resourceColorField` field should be mapped with the [`name`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#name) value given within the [`resources`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources) property.
## Dynamically add and remove resources
-It is possible to add or remove the resources dynamically to and from the Scheduler respectively. In the following example, when the checkboxes are checked and unchecked, the respective resources gets added up or removed from the Scheduler layout. To add new resource dynamically, [`addResource`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#addresource) method is used which accepts the arguments such as resource object, resource name (within which level, the resource object to be added) and index (position where the resource needs to be added).
+It is possible to add or remove the resources dynamically to and from the Scheduler respectively. In the following example, when the checkboxes are checked and unchecked, the respective resources gets added up or removed from the Scheduler layout. To add new resource dynamically, [`addResource`](https://ej2.syncfusion.com/angular/documentation/api/schedule#addresource) method is used which accepts the arguments such as resource object, resource name (within which level, the resource object to be added) and index (position where the resource needs to be added).
-To remove the resources dynamically, [`removeResource`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#removeresource) method is used which accepts the index (position from where the resource to be removed) and resource name (within which level, the resource object presents) as parameters.
+To remove the resources dynamically, [`removeResource`](https://ej2.syncfusion.com/angular/documentation/api/schedule#removeresource) method is used which accepts the index (position from where the resource to be removed) and resource name (within which level, the resource object presents) as parameters.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -445,7 +445,7 @@ Each resource in the Scheduler can have different ` working hours` as well as di
### Set different work days
-Different `working days` can be set for the resources of Scheduler using the [`workDaysField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#workdaysfield) property which maps the working days field from the resource dataSource. This field accepts the collection of day indexes (from 0 to 6) of a week. By default, it is set to [1, 2, 3, 4, 5] and in the following example, each resource has been set with different values and therefore each of them will render only those working days. This option is applicable only on the calendar views and is not applicable on timeline views.
+Different `working days` can be set for the resources of Scheduler using the [`workDaysField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#workdaysfield) property which maps the working days field from the resource dataSource. This field accepts the collection of day indexes (from 0 to 6) of a week. By default, it is set to [1, 2, 3, 4, 5] and in the following example, each resource has been set with different values and therefore each of them will render only those working days. This option is applicable only on the calendar views and is not applicable on timeline views.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -463,7 +463,7 @@ Different `working days` can be set for the resources of Scheduler using the [`w
### Set different work hours
-Different `working Hours` can be set for the resources of Scheduler using the [`startHourField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#starthourfield) and [`endHourField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources/#endhourfield) property which maps the `startHourField` and `endHourField` field from the resource dataSource.
+Different `working Hours` can be set for the resources of Scheduler using the [`startHourField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#starthourfield) and [`endHourField`](https://ej2.syncfusion.com/angular/documentation/api/schedule/resources#endhourfield) property which maps the `startHourField` and `endHourField` field from the resource dataSource.
* `startHourField` - Denotes the start time of the working/business hour in a day.
* `endHourField` - Denotes the end time limit of the working/business hour in a day.
@@ -488,9 +488,9 @@ In this example, a resource named `Will Smith` is depicted with working hours ra
## Hide non-working days when grouped by date
-In Scheduler, you can set custom work days for each resource and group the Scheduler by date to display these work days. By default, the Scheduler will show all days when it is grouped by date, even if they are not included in the custom work days for the resources. However, you can use the [`hideNonWorkingDays`](../api/schedule/group/#hidenonworkingdays) property to only display the custom work days in the Scheduler.
+In Scheduler, you can set custom work days for each resource and group the Scheduler by date to display these work days. By default, the Scheduler will show all days when it is grouped by date, even if they are not included in the custom work days for the resources. However, you can use the [`hideNonWorkingDays`](../api/schedule/group#hidenonworkingdays) property to only display the custom work days in the Scheduler.
-To use the [`hideNonWorkingDays`](../api/schedule/group/#hidenonworkingdays) property, you need to include it in the configuration options for your Scheduler component. Set the value of [`hideNonWorkingDays`](../api/schedule/group/#hidenonworkingdays) to `true` to enable this feature.
+To use the [`hideNonWorkingDays`](../api/schedule/group#hidenonworkingdays) property, you need to include it in the configuration options for your Scheduler component. Set the value of [`hideNonWorkingDays`](../api/schedule/group#hidenonworkingdays) to `true` to enable this feature.
**Example:** To display the Scheduler with resources grouped by date for custom working days,
@@ -508,11 +508,11 @@ To use the [`hideNonWorkingDays`](../api/schedule/group/#hidenonworkingdays) pro

-> The [`hideNonWorkingDays`](../api/schedule/group/#hidenonworkingdays) property only applies when the Scheduler is grouped [`byDate`](../api/schedule/group/#bydate).
+> The [`hideNonWorkingDays`](../api/schedule/group#hidenonworkingdays) property only applies when the Scheduler is grouped [`byDate`](../api/schedule/group#bydate).
## Compact view in mobile
-Although the Scheduler views are designed keeping in mind the responsiveness of the control in mobile devices, however when using Scheduler with multiple resources - it is difficult to view all the resources and its relevant events at once on the mobile. Therefore, we have introduced a new compact mode specially for displaying multiple resources of Scheduler on mobile devices. By default, this mode is enabled while using Scheduler with multiple resources on mobile devices. If in case, you need to disable this compact mode, set `false` to the [`enableCompactView`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group/#enablecompactview) option within the [`group`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group/) property. Disabling this option will display the exact desktop mode of Scheduler view on mobile devices.
+Although the Scheduler views are designed keeping in mind the responsiveness of the control in mobile devices, however when using Scheduler with multiple resources - it is difficult to view all the resources and its relevant events at once on the mobile. Therefore, we have introduced a new compact mode specially for displaying multiple resources of Scheduler on mobile devices. By default, this mode is enabled while using Scheduler with multiple resources on mobile devices. If in case, you need to disable this compact mode, set `false` to the [`enableCompactView`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group#enablecompactview) option within the [`group`](https://ej2.syncfusion.com/angular/documentation/api/schedule/group) property. Disabling this option will display the exact desktop mode of Scheduler view on mobile devices.
With this compact view enabled on mobile, you can view only single resource at a time and to switch to other resources, there is a treeview at the left listing out all other available resources - clicking on which will display that particular resource and its related appointments.
@@ -524,7 +524,7 @@ Clicking on the menu icon before the resource text will show the resources avail
## Adaptive UI in desktop
-By default, the Scheduler layout adapts automatically in the desktop and mobile devices with appropriate UI changes. In case, if the user wants to display the Adaptive scheduler in desktop mode with adaptive enhancements, then the property [`enableAdaptiveUI`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#enableadaptiveui) can be set to `true`. Enabling this option will display the exact mobile mode of Scheduler view on desktop devices.
+By default, the Scheduler layout adapts automatically in the desktop and mobile devices with appropriate UI changes. In case, if the user wants to display the Adaptive scheduler in desktop mode with adaptive enhancements, then the property [`enableAdaptiveUI`](https://ej2.syncfusion.com/angular/documentation/api/schedule#enableadaptiveui) can be set to `true`. Enabling this option will display the exact mobile mode of Scheduler view on desktop devices.
Some of the default changes made for compact Scheduler to render in desktop devices are as follows,
* View options displayed in the Navigation drawer.
diff --git a/ej2-angular/schedule/row-auto-height.md b/ej2-angular/schedule/row-auto-height.md
index 1a8858548a8..d08b9cca5ad 100644
--- a/ej2-angular/schedule/row-auto-height.md
+++ b/ej2-angular/schedule/row-auto-height.md
@@ -12,7 +12,7 @@ domainurl: ##DomainURL##
By default, the height of the Scheduler rows in Timeline views is static. Therefore, when the same time ranges hold multiple overlapping appointments, a `+n more` text indicator is displayed. With this feature enabled, you can now view all overlapping appointments in a specific time range by auto-adjusting the row height according to the number of appointments, instead of displaying the `+n more` text indicators.
-To enable auto row height adjustments on Scheduler Timeline views and the Month view, set the [`rowAutoHeight`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#rowautoheight) property to `true` (default is `false`).
+To enable auto row height adjustments on Scheduler Timeline views and the Month view, set the [`rowAutoHeight`](https://ej2.syncfusion.com/angular/documentation/api/schedule#rowautoheight) property to `true` (default is `false`).
> This auto row height adjustment applies only to all Timeline views and the calendar Month view.
@@ -22,7 +22,7 @@ Now, let us see how it works on those applicable views with examples.
## Calendar month view
-By default, the rows of the calendar Month view can hold only a limited number of appointments based on its row height, and the rest of the overlapping appointments are indicated with a `+n more` text indicator. The following example shows how the month view row auto-adjusts based on the number of appointments when this [`rowAutoHeight`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#rowautoheight) feature is enabled.
+By default, the rows of the calendar Month view can hold only a limited number of appointments based on its row height, and the rest of the overlapping appointments are indicated with a `+n more` text indicator. The following example shows how the month view row auto-adjusts based on the number of appointments when this [`rowAutoHeight`](https://ej2.syncfusion.com/angular/documentation/api/schedule#rowautoheight) feature is enabled.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -38,7 +38,7 @@ By default, the rows of the calendar Month view can hold only a limited number o
## Timeline views
-When the [`rowAutoHeight`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#rowautoheight) feature is enabled in Timeline views, the row height auto-adjusts based on the number of overlapping events in the same time range, as demonstrated in the following example.
+When the [`rowAutoHeight`](https://ej2.syncfusion.com/angular/documentation/api/schedule#rowautoheight) feature is enabled in Timeline views, the row height auto-adjusts based on the number of overlapping events in the same time range, as demonstrated in the following example.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -74,7 +74,7 @@ The following example shows how the auto row adjustment feature works on Timelin
## Appointments occupying entire cell
-By default, with the feature [`rowAutoHeight`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#rowautoheight), there will be a space in the bottom of the cell when appointment is rendered. To avoid this space, we can set true to the property [`ignoreWhitespace`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#ignorewhitespace) with in [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/) whereas its default property value is false. In the following code example, the whitespace below the appointments has been ignored.
+By default, with the feature [`rowAutoHeight`](https://ej2.syncfusion.com/angular/documentation/api/schedule#rowautoheight), there will be a space in the bottom of the cell when appointment is rendered. To avoid this space, we can set true to the property [`ignoreWhitespace`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#ignorewhitespace) with in [`eventSettings`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings) whereas its default property value is false. In the following code example, the whitespace below the appointments has been ignored.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -90,6 +90,6 @@ By default, with the feature [`rowAutoHeight`](https://ej2.syncfusion.com/angula

-**Note**: The [`ignoreWhitespace`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/#ignorewhitespace) property applies only when the [`rowAutoHeight`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#rowautoheight) feature is enabled in the Scheduler.
+**Note**: The [`ignoreWhitespace`](https://ej2.syncfusion.com/angular/documentation/api/schedule/eventSettings#ignorewhitespace) property applies only when the [`rowAutoHeight`](https://ej2.syncfusion.com/angular/documentation/api/schedule#rowautoheight) feature is enabled in the Scheduler.
> You can refer to our [Angular Scheduler](https://www.syncfusion.com/angular-components/angular-scheduler) feature tour page for its groundbreaking feature representations. You can also explore our [Angular Scheduler example](https://ej2.syncfusion.com/angular/demos/#/material/schedule/overview) to knows how to present and manipulate data.
diff --git a/ej2-angular/schedule/sharepoint.md b/ej2-angular/schedule/sharepoint.md
index ed8b7eee5fb..e97ab34f276 100644
--- a/ej2-angular/schedule/sharepoint.md
+++ b/ej2-angular/schedule/sharepoint.md
@@ -10,7 +10,7 @@ domainurl: ##DomainURL##
# Getting Started with Angular Scheduler in SharePoint Framework
-This article provides a step-by-step guide for setting up a [SharePoint](https://learn.microsoft.com/en-us/sharepoint/dev/) project and integrating the [Syncfusion® Angular Schedule component](https://www.syncfusion.com/angular-components/angular-scheduler).
+This article provides a step-by-step guide for setting up a [SharePoint](https://learn.microsoft.com/en-us/sharepoint/dev) project and integrating the [Syncfusion® Angular Schedule component](https://www.syncfusion.com/angular-components/angular-scheduler).
SharePoint Framework (SPFx) is a development model and framework provided by Microsoft for building custom solutions and extensions for SharePoint and Microsoft Teams. It is a modern, client-side framework that allows developers to create web parts, extensions, and customizations that can be deployed and used within SharePoint sites and Teams applications.
@@ -24,7 +24,7 @@ SharePoint Framework (SPFx) is a development model and framework provided by Mic
Create a new SPFx project using the following command,
-**Step 1:** To initiate the creation of a new [SharePoint](https://learn.microsoft.com/en-us/sharepoint/dev/) project, use the following command:
+**Step 1:** To initiate the creation of a new [SharePoint](https://learn.microsoft.com/en-us/sharepoint/dev) project, use the following command:
```bash
yo @microsoft/sharepoint
diff --git a/ej2-angular/schedule/timescale.md b/ej2-angular/schedule/timescale.md
index 37aeccd9ae3..9e1893c8c0d 100644
--- a/ej2-angular/schedule/timescale.md
+++ b/ej2-angular/schedule/timescale.md
@@ -10,17 +10,17 @@ domainurl: ##DomainURL##
# Timescale in Angular Schedule component
-Time slots are the cells displayed in the Day, Week, and Work Week views of the Scheduler (in vertical views on the leftmost position and in timeline views at the top). The [`timeScale`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#timescale) property lets you control the duration of these slots. It includes these sub-options:
+Time slots are the cells displayed in the Day, Week, and Work Week views of the Scheduler (in vertical views on the leftmost position and in timeline views at the top). The [`timeScale`](https://ej2.syncfusion.com/angular/documentation/api/schedule#timescale) property lets you control the duration of these slots. It includes these sub-options:
-* [`enable`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScale/#enable) - When set to `true`, allows the Scheduler to display the appointments accurately against the exact time duration. If set to `false`, all the appointments of a day will be displayed one below the other with no grid lines displayed. Its default value is `true`.
-* [`interval`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScale/#interval) – Defines the time duration on which the time axis to be displayed either in 1 hour or 30 minutes interval and so on. It accepts the values in minutes and defaults to 60.
-* [`slotCount`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScale/#slotcount) – Decides the number of slot count to be split for the specified time interval duration. It defaults to 2, thus displaying two slots to represent an hour(each slot depicting 30 minutes duration).
+* [`enable`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScale#enable) - When set to `true`, allows the Scheduler to display the appointments accurately against the exact time duration. If set to `false`, all the appointments of a day will be displayed one below the other with no grid lines displayed. Its default value is `true`.
+* [`interval`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScale#interval) – Defines the time duration on which the time axis to be displayed either in 1 hour or 30 minutes interval and so on. It accepts the values in minutes and defaults to 60.
+* [`slotCount`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScale#slotcount) – Decides the number of slot count to be split for the specified time interval duration. It defaults to 2, thus displaying two slots to represent an hour(each slot depicting 30 minutes duration).
>Note: The upper limit for rendering slots within a single day, utilizing the **interval** and **slotCount** properties of the **timeScale**, stands at 1000. This constraint aligns with the maximum **colspan** value permissible for the **table** element, also capped at 1000. This particular restriction is relevant exclusively to the `TimelineDay`, `TimelineWeek` and `TimelineWorkWeek` views.
## Setting different time slot duration
-The [`interval`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScale/#interval) and [`slotCount`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScale/#slotcount) properties can be used together on the Scheduler to set different time slot duration which is depicted in the following code example. Here, six time slots together represents an hour.
+The [`interval`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScale#interval) and [`slotCount`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScale#slotcount) properties can be used together on the Scheduler to set different time slot duration which is depicted in the following code example. Here, six time slots together represents an hour.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -38,10 +38,10 @@ The [`interval`](https://ej2.syncfusion.com/angular/documentation/api/schedule/t
## Customizing time cells using template
-The [`timeScale`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScale/) property provides template options for custom rendering:
+The [`timeScale`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScale) property provides template options for custom rendering:
-* [`majorSlotTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScale/#majorslottemplate) - The template option to be applied for major time slots. Here, the template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the time cells. The time details can be accessed within this template.
-* [`minorSlotTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScale/#minorslottemplate) - The template option to be applied for minor time slots. Here, the template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the time cells. The time details can be accessed within this template.
+* [`majorSlotTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScale#majorslottemplate) - The template option to be applied for major time slots. Here, the template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the time cells. The time details can be accessed within this template.
+* [`minorSlotTemplate`](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScale#minorslottemplate) - The template option to be applied for minor time slots. Here, the template accepts either the string or HTMLElement as template design and then the parsed design is displayed onto the time cells. The time details can be accessed within this template.
{% tabs %}
{% highlight html tabtitle="app.component.html" %}
@@ -62,7 +62,7 @@ The [`timeScale`](https://ej2.syncfusion.com/angular/documentation/api/schedule/
## Hide the timescale
-The grid lines which indicates the exact time duration can be enabled or disabled on the Scheduler, by setting `true` or `false` to the `enable` option within the [`timeScale`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/#timescale) property. It's default value is `true`.
+The grid lines which indicates the exact time duration can be enabled or disabled on the Scheduler, by setting `true` or `false` to the `enable` option within the [`timeScale`](https://helpej2.syncfusion.com/angular/documentation/api/schedule#timescale) property. It's default value is `true`.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -80,7 +80,7 @@ The grid lines which indicates the exact time duration can be enabled or disable
## Highlighting current date and time
-By default, Scheduler indicates current date with a highlighted date header on all views, as well as marks accurately the system's current time on specific views such as Day, Week, Work Week, Timeline Day, Timeline Week and Timeline Work Week views. To stop highlighting the current time indicator on Scheduler views, set `false` to the [`showTimeIndicator`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/#showtimeindicator) property which defaults to `true`.
+By default, Scheduler indicates current date with a highlighted date header on all views, as well as marks accurately the system's current time on specific views such as Day, Week, Work Week, Timeline Day, Timeline Week and Timeline Work Week views. To stop highlighting the current time indicator on Scheduler views, set `false` to the [`showTimeIndicator`](https://helpej2.syncfusion.com/angular/documentation/api/schedule#showtimeindicator) property which defaults to `true`.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
diff --git a/ej2-angular/schedule/timezone.md b/ej2-angular/schedule/timezone.md
index f178db2e7eb..daabc7a647e 100644
--- a/ej2-angular/schedule/timezone.md
+++ b/ej2-angular/schedule/timezone.md
@@ -10,7 +10,7 @@ domainurl: ##DomainURL##
# Timezone support in Angular Schedule component
-The Scheduler component uses the current system timezone by default. To schedule events according to a different timezone, use the [`timezone`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/#timezone) property. In addition to applying a specific timezone at the Scheduler level, individual appointments can have their own timezones using the [`startTimezone`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/field/#starttimezone) and [`endTimezone`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/field/#endtimezone) properties within the event fields collection.
+The Scheduler component uses the current system timezone by default. To schedule events according to a different timezone, use the [`timezone`](https://helpej2.syncfusion.com/angular/documentation/api/schedule#timezone) property. In addition to applying a specific timezone at the Scheduler level, individual appointments can have their own timezones using the [`startTimezone`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/field#starttimezone) and [`endTimezone`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/field#endtimezone) properties within the event fields collection.
> Note: The **timezone** property applies only to appointment processing and the current time indicator.
@@ -38,7 +38,7 @@ The following code example displays an appointment from 9:00 AM to 10:00 AM when
## Set a specific timezone for the Scheduler
-When a timezone is set through the [`timezone`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/#timezone) property, appointments are displayed according to the Scheduler's timezone, regardless of the user's system timezone. In the following example, appointments are shown in Eastern Time (UTC -05:00).
+When a timezone is set through the [`timezone`](https://helpej2.syncfusion.com/angular/documentation/api/schedule#timezone) property, appointments are displayed according to the Scheduler's timezone, regardless of the user's system timezone. In the following example, appointments are shown in Eastern Time (UTC -05:00).
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -54,7 +54,7 @@ When a timezone is set through the [`timezone`](https://helpej2.syncfusion.com/a
## Display events on same time everywhere with no time difference
-Setting [`timezone`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/#timezone) to UTC for Scheduler will display the appointments on same time as in the database for all the users in different time zone.
+Setting [`timezone`](https://helpej2.syncfusion.com/angular/documentation/api/schedule#timezone) to UTC for Scheduler will display the appointments on same time as in the database for all the users in different time zone.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -70,7 +70,7 @@ Setting [`timezone`](https://helpej2.syncfusion.com/angular/documentation/api/sc
## Assign specific timezones to events
-It is possible to set different timezone for Scheduler events by setting [`startTimezone`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/field/#starttimezone) and [`endTimezone`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/field/#endtimezone) properties within the [`eventSettings`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/eventSettings/) option. It allows each appointment to maintain different timezone and displays on Scheduler with appropriate time differences.
+It is possible to set different timezone for Scheduler events by setting [`startTimezone`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/field#starttimezone) and [`endTimezone`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/field#endtimezone) properties within the [`eventSettings`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/eventSettings) option. It allows each appointment to maintain different timezone and displays on Scheduler with appropriate time differences.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
diff --git a/ej2-angular/schedule/views.md b/ej2-angular/schedule/views.md
index 081aeb23f46..8bdfcd10bc3 100644
--- a/ej2-angular/schedule/views.md
+++ b/ej2-angular/schedule/views.md
@@ -22,7 +22,7 @@ For guidance on customizing individual views in the Angular Scheduler, watch the
## Setting a specific view on the Scheduler
-The Scheduler displays the `week` view by default. To change the active view, set the [`currentView`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/#currentview) property to the desired view name. The supported view names are:
+The Scheduler displays the `week` view by default. To change the active view, set the [`currentView`](https://helpej2.syncfusion.com/angular/documentation/api/schedule#currentview) property to the desired view name. The supported view names are:
* Day
* Week
@@ -37,7 +37,7 @@ The Scheduler displays the `week` view by default. To change the active view, se
* TimelineMonth
* TimelineYear
-To use these view modes, import and inject the relevant view modules in your application. You can also display only the desired views on the Scheduler. To define and configure specific views, use the [`views`](https://ej2.syncfusion.com/angular/documentation/api/schedule/views/) property.
+To use these view modes, import and inject the relevant view modules in your application. You can also display only the desired views on the Scheduler. To define and configure specific views, use the [`views`](https://ej2.syncfusion.com/angular/documentation/api/schedule/views) property.
In the following example, the Scheduler displays four views: Week, Month, TimelineWeek, and TimelineMonth. The necessary view modules are imported and injected correctly to render these views.
@@ -69,33 +69,33 @@ To configure the Scheduler with two views that each have different configuration
## View specific configuration
-There are scenarios where each view may need to have different configurations. For such cases, you can define the applicable scheduler properties within the [`views`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/) Property for each view option as depicted in the following examples. The fields available to be used within each view options are as follows.
+There are scenarios where each view may need to have different configurations. For such cases, you can define the applicable scheduler properties within the [`views`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views) Property for each view option as depicted in the following examples. The fields available to be used within each view options are as follows.
| Property | Type | Description | Applicable views |
|-------------|--------|-------------|------------------|
-| [`option`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#option) | View | It accepts the Scheduler view name, based on which we can define its related properties. The view names can be `Day`, `Week` and so on. | All views.|
-| [`isSelected`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#isselected) | Boolean | It acts similar to the `currentView` property and defines the active view of the Scheduler.| All views. |
-| [`dateFormat`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#dateformat) | Date | By default, Scheduler follows the date format as per the default culture assigned to it. When it is defined under specific view, only those assigned views follows this date format. | All views. |
-| [`readonly`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#readonly) | Boolean | When set to `true`, prevents the CRUD actions on the respective view under where it is defined. | All views. |
-| [`resourceHeaderTemplate`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#resourceheadertemplate) | String | The template option which is used to customize the resource header cells on the Scheduler. It gets applied only on the views, wherever it is defined.| All views. |
-| [`dateHeaderTemplate`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#dayheadertemplate) | String | The template option which is used to customize the date header cells and is applied only on the views, wherever it is defined. | All views. |
-| [`eventTemplate`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#eventtemplate) | String | The template option to customize the events background. It will get applied to the events of the view to which it is currently being defined. | All views. |
-| [`showWeekend`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#showweekend) | Boolean | When set to `false`, it hides the weekend days of a week from the views on which it is defined.| All views. |
-| [`group`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/group/) | [GroupModel](https://ej2.syncfusion.com/angular/documentation/api/schedule/groupModel/) | Allows to set different resource grouping options on all available Scheduler view modes. | All views. |
-| [`cellTemplate`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#celltemplate) | String | The template option to customize the work cells of the Scheduler and is applied only on the views, on which it is defined. | Applicable on all views except Agenda view. |
-| [`workDays`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#workdays) | Number[] | It is used to set the working days on the Scheduler views. | Applicable on all views except Agenda view. |
-| [`displayName`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#displayname) | String | When a particular view is customized to display with different intervals, this property allows the user to set different display name for each of the views. | Applicable on all views except Agenda and Month Agenda. |
-| [`interval`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#interval) | Number | It allows to customize the default Scheduler views with different set of days, weeks, work weeks or months on the applicable view type. | Applicable on all views except Agenda and Month Agenda. |
-| [`startHour`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#starthour) | String | It is used to specify the start hour, from which the Scheduler should be displayed. It accepts the time string in a short skeleton format and also, hides the time beyond the specified start time. | Applicable on Day, Week, Work Week, Timeline Day, Timeline Week and Timeline Work Week views. |
-| [`endHour`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#endhour) | String | It is used to specify the end hour, at which the Scheduler ends. It accepts the time string in a short skeleton format. | Applicable on Day, Week, Work Week, Timeline Day, Timeline Week, and Timeline Work Week views. |
-| [`timeScale`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#timescale) | [TimeScaleModel](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScaleModel/) | Allows to set different timescale configuration on each applicable view modes. | Applicable on Day, Week, Work Week, Timeline Day, Timeline Week, and Timeline Work Week views. |
-| [`showWeekNumber`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#showweeknumber) | Boolean | When set to `true`, shows the week number on the respective weeks.| Applicable on Day, Week, Work Week, and Month views. |
-| [`allowVirtualScrolling`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#allowvirtualscrolling) | Boolean | It is used to enable or disable the virtual scrolling functionality. | Applicable on Agenda and Timeline views. |
-| [`headerRows`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#headerrows) | [HeaderRowsModel](https://ej2.syncfusion.com/angular/documentation/api/schedule/headerRowsModel/) | Allows defining the custom header rows on timeline views of the Scheduler to display the year, month, week, date and hour label as an individual row. | Applicable only on all timeline views. |
+| [`option`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#option) | View | It accepts the Scheduler view name, based on which we can define its related properties. The view names can be `Day`, `Week` and so on. | All views.|
+| [`isSelected`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#isselected) | Boolean | It acts similar to the `currentView` property and defines the active view of the Scheduler.| All views. |
+| [`dateFormat`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#dateformat) | Date | By default, Scheduler follows the date format as per the default culture assigned to it. When it is defined under specific view, only those assigned views follows this date format. | All views. |
+| [`readonly`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#readonly) | Boolean | When set to `true`, prevents the CRUD actions on the respective view under where it is defined. | All views. |
+| [`resourceHeaderTemplate`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#resourceheadertemplate) | String | The template option which is used to customize the resource header cells on the Scheduler. It gets applied only on the views, wherever it is defined.| All views. |
+| [`dateHeaderTemplate`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#dayheadertemplate) | String | The template option which is used to customize the date header cells and is applied only on the views, wherever it is defined. | All views. |
+| [`eventTemplate`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#eventtemplate) | String | The template option to customize the events background. It will get applied to the events of the view to which it is currently being defined. | All views. |
+| [`showWeekend`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#showweekend) | Boolean | When set to `false`, it hides the weekend days of a week from the views on which it is defined.| All views. |
+| [`group`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/group) | [GroupModel](https://ej2.syncfusion.com/angular/documentation/api/schedule/groupModel) | Allows to set different resource grouping options on all available Scheduler view modes. | All views. |
+| [`cellTemplate`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#celltemplate) | String | The template option to customize the work cells of the Scheduler and is applied only on the views, on which it is defined. | Applicable on all views except Agenda view. |
+| [`workDays`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#workdays) | Number[] | It is used to set the working days on the Scheduler views. | Applicable on all views except Agenda view. |
+| [`displayName`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#displayname) | String | When a particular view is customized to display with different intervals, this property allows the user to set different display name for each of the views. | Applicable on all views except Agenda and Month Agenda. |
+| [`interval`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#interval) | Number | It allows to customize the default Scheduler views with different set of days, weeks, work weeks or months on the applicable view type. | Applicable on all views except Agenda and Month Agenda. |
+| [`startHour`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#starthour) | String | It is used to specify the start hour, from which the Scheduler should be displayed. It accepts the time string in a short skeleton format and also, hides the time beyond the specified start time. | Applicable on Day, Week, Work Week, Timeline Day, Timeline Week and Timeline Work Week views. |
+| [`endHour`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#endhour) | String | It is used to specify the end hour, at which the Scheduler ends. It accepts the time string in a short skeleton format. | Applicable on Day, Week, Work Week, Timeline Day, Timeline Week, and Timeline Work Week views. |
+| [`timeScale`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#timescale) | [TimeScaleModel](https://ej2.syncfusion.com/angular/documentation/api/schedule/timeScaleModel) | Allows to set different timescale configuration on each applicable view modes. | Applicable on Day, Week, Work Week, Timeline Day, Timeline Week, and Timeline Work Week views. |
+| [`showWeekNumber`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#showweeknumber) | Boolean | When set to `true`, shows the week number on the respective weeks.| Applicable on Day, Week, Work Week, and Month views. |
+| [`allowVirtualScrolling`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#allowvirtualscrolling) | Boolean | It is used to enable or disable the virtual scrolling functionality. | Applicable on Agenda and Timeline views. |
+| [`headerRows`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#headerrows) | [HeaderRowsModel](https://ej2.syncfusion.com/angular/documentation/api/schedule/headerRowsModel) | Allows defining the custom header rows on timeline views of the Scheduler to display the year, month, week, date and hour label as an individual row. | Applicable only on all timeline views. |
### Day view
-The Day view displays a single day with its appointments. You can extend the Day view to show multiple days by setting the [`interval`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#interval) property within the [`views`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/) configuration. Any of the above properties can be applied to the day view as needed.
+The Day view displays a single day with its appointments. You can extend the Day view to show multiple days by setting the [`interval`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#interval) property within the [`views`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views) configuration. Any of the above properties can be applied to the day view as needed.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -111,11 +111,11 @@ The Day view displays a single day with its appointments. You can extend the Day

-> All properties listed above can be used in the Day view except [`allowVirtualScrolling`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#allowvirtualscrolling) and [`headerRows`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#headerrows).
+> All properties listed above can be used in the Day view except [`allowVirtualScrolling`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#allowvirtualscrolling) and [`headerRows`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#headerrows).
### Week view
-The Week view displays a count of 7 days (from Sunday to Saturday) with all its related appointments. The first day of the week can be changed using the [`firstDayOfWeek`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#firstdayofweek) which accepts the integer (Sunday=0, Monday=1, Tuesday=2 and so on) value. You can navigate to a particular date in day view from the week view by clicking on the appropriate dates on the date header bar.
+The Week view displays a count of 7 days (from Sunday to Saturday) with all its related appointments. The first day of the week can be changed using the [`firstDayOfWeek`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#firstdayofweek) which accepts the integer (Sunday=0, Monday=1, Tuesday=2 and so on) value. You can navigate to a particular date in day view from the week view by clicking on the appropriate dates on the date header bar.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -131,11 +131,11 @@ The Week view displays a count of 7 days (from Sunday to Saturday) with all its

-> All the above defined properties in the table can be accessed within Week and Work week views except [`allowVirtualScrolling`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#allowvirtualscrolling) and [`headerRows`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#headerrows).
+> All the above defined properties in the table can be accessed within Week and Work week views except [`allowVirtualScrolling`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#allowvirtualscrolling) and [`headerRows`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#headerrows).
### Work Week view
-The Work week view displays only the working days of a week (count of 5 days) and its associated appointments. It is possible to customize the working days on the work week view by using the [`workDays`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#workdays) property which accepts an array of integer values (such as Sunday=0, Monday=1, Tuesday=2 and so on). By default, it displays from Monday to Friday (5 days). You can also navigate to a particular date in the day view from the work week view by clicking on the appropriate dates in the date header bar.
+The Work week view displays only the working days of a week (count of 5 days) and its associated appointments. It is possible to customize the working days on the work week view by using the [`workDays`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#workdays) property which accepts an array of integer values (such as Sunday=0, Monday=1, Tuesday=2 and so on). By default, it displays from Monday to Friday (5 days). You can also navigate to a particular date in the day view from the work week view by clicking on the appropriate dates in the date header bar.
The following code example depicts how to change the working days only on the `Work Week` view of the Scheduler.
@@ -181,7 +181,7 @@ You can also have the `+ more` text indicator on each day cell of a Month view,
A Year view displays all the days of a particular year with months and all its related appointments. You can navigate to a particular date in the day view by clicking on the appropriate date text on the year cells.
-Year view is available in both the `Horizontal` and `Vertical` orientations. You can manage the orientation of year view through [`views`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#orientation) property.
+Year view is available in both the `Horizontal` and `Vertical` orientations. You can manage the orientation of year view through [`views`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#orientation) property.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -199,7 +199,7 @@ Year view is available in both the `Horizontal` and `Vertical` orientations. You
### Agenda view
-The Agenda view lists out the appointments in a grid-like view for the next 7 days by default from the current date. The count of the days can be changed using the API [`agendaDaysCount`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/#agendadayscount). It allows virtual scrolling of dates by enabling the [`allowVirtualScrolling`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#allowvirtualscrolling) property. Also, you can enable or disable the display of days on Scheduler that has no appointments by setting true or false to the [`hideEmptyAgendaDays`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/#hideemptyagendadays) property.
+The Agenda view lists out the appointments in a grid-like view for the next 7 days by default from the current date. The count of the days can be changed using the API [`agendaDaysCount`](https://helpej2.syncfusion.com/angular/documentation/api/schedule#agendadayscount). It allows virtual scrolling of dates by enabling the [`allowVirtualScrolling`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#allowvirtualscrolling) property. Also, you can enable or disable the display of days on Scheduler that has no appointments by setting true or false to the [`hideEmptyAgendaDays`](https://helpej2.syncfusion.com/angular/documentation/api/schedule#hideemptyagendadays) property.
The following code example depicts how to customize the display of events within Agenda view alone.
@@ -349,7 +349,7 @@ The following code example depicts how to group the multiple resources on Timeli
#### Auto row height
-Timeline Year view supports Auto row height. When the feature [`rowAutoHeight`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/#rowautoheight) is enabled, the row height gets auto-adjusted based on the number of overlapping events occupied in the same time range. If you disable the Auto row height, you have the `+ more` text indicator on each day cell of a Timeline Year view, clicking on which will allow you to view the hidden appointments of a day.
+Timeline Year view supports Auto row height. When the feature [`rowAutoHeight`](https://helpej2.syncfusion.com/angular/documentation/api/schedule#rowautoheight) is enabled, the row height gets auto-adjusted based on the number of overlapping events occupied in the same time range. If you disable the Auto row height, you have the `+ more` text indicator on each day cell of a Timeline Year view, clicking on which will allow you to view the hidden appointments of a day.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -365,9 +365,9 @@ Timeline Year view supports Auto row height. When the feature [`rowAutoHeight`](
## Extending view intervals
-It is possible to customize the display of default number of days on different Scheduler view modes. For example, a day view can be extended to display 3 days by setting the [`interval`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#interval) option as 3 for the `Day` option within the [`views`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/) property as depicted in the following code example. In the same way, you can also display 2 weeks by setting interval 2 for the `Week` option.
+It is possible to customize the display of default number of days on different Scheduler view modes. For example, a day view can be extended to display 3 days by setting the [`interval`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#interval) option as 3 for the `Day` option within the [`views`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views) property as depicted in the following code example. In the same way, you can also display 2 weeks by setting interval 2 for the `Week` option.
-You can provide the alternative display name for such customized views on the Scheduler header bar, by setting the appropriate [`displayName`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#displayname) property.
+You can provide the alternative display name for such customized views on the Scheduler header bar, by setting the appropriate [`displayName`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#displayname) property.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
diff --git a/ej2-angular/schedule/virtual-scrolling.md b/ej2-angular/schedule/virtual-scrolling.md
index 74ec4c5398e..b7fd0518e56 100644
--- a/ej2-angular/schedule/virtual-scrolling.md
+++ b/ej2-angular/schedule/virtual-scrolling.md
@@ -10,7 +10,7 @@ domainurl: ##DomainURL##
# Virtual scrolling in Angular Schedule component
-Virtual scrolling support in the Scheduler component enhances performance when working with a substantial number of resources and events. This feature allows large sets of resources and events to load dynamically in the timeline views as users scroll, resulting in a seamless user experience. Enable virtual scrolling by setting the [`allowVirtualScrolling`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#allowvirtualscrolling) property to `true` within the specific timeline view settings. In the Agenda view, enable the same property in the agenda view configuration to allow virtual loading of events.
+Virtual scrolling support in the Scheduler component enhances performance when working with a substantial number of resources and events. This feature allows large sets of resources and events to load dynamically in the timeline views as users scroll, resulting in a seamless user experience. Enable virtual scrolling by setting the [`allowVirtualScrolling`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#allowvirtualscrolling) property to `true` within the specific timeline view settings. In the Agenda view, enable the same property in the agenda view configuration to allow virtual loading of events.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -36,7 +36,7 @@ By default, the Scheduler retrieves all relevant appointments within the current
With this feature enabled, the Scheduler fetches events from remote services solely for the appointments currently visible in the viewport, optimizing data retrieval. Additional appointment data is fetched from the server on-demand as new resources enter the viewport during scrolling.
-Enable this feature by setting the [`enableLazyLoading`](https://ej2.syncfusion.com/angular/documentation/api/schedule/viewsModel/#enablelazyloading) property to `true` in the appropriate view settings.
+Enable this feature by setting the [`enableLazyLoading`](https://ej2.syncfusion.com/angular/documentation/api/schedule/viewsModel#enablelazyloading) property to `true` in the appropriate view settings.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -93,7 +93,7 @@ namespace LazyLoadingServices.Controllers
**Note:**
* The property will be effective, when large number of resources and appointments bound to the Scheduler.
-* This property is applicable only when [resource grouping](https://ej2.syncfusion.com/angular/documentation/api/schedule/group/#resources) is enabled in Scheduler.
+* This property is applicable only when [resource grouping](https://ej2.syncfusion.com/angular/documentation/api/schedule/group#resources) is enabled in Scheduler.
## See Also
diff --git a/ej2-angular/schedule/working-days.md b/ej2-angular/schedule/working-days.md
index b15fba589da..4ff57feab42 100644
--- a/ej2-angular/schedule/working-days.md
+++ b/ej2-angular/schedule/working-days.md
@@ -45,9 +45,9 @@ The following example shows how to configure the Scheduler to use Monday, Wednes
## Hiding weekend days
-The [`showWeekend`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#showweekend) property is used to either show or hide the weekend days of a week and it is not applicable on Work week view (as non-working days are usually not displayed on work week view). By default, it is set to `true`. The days which are not a part of the working days collection of a Scheduler are usually considered as non-working or weekend days.
+The [`showWeekend`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#showweekend) property is used to either show or hide the weekend days of a week and it is not applicable on Work week view (as non-working days are usually not displayed on work week view). By default, it is set to `true`. The days which are not a part of the working days collection of a Scheduler are usually considered as non-working or weekend days.
-Here, the working days are defined as [1, 3, 4, 5] on Scheduler and therefore the remaining days (0, 2, 6 – Sunday, Tuesday and Saturday) are considered as non-working or weekend days and will be hidden from all the views when [`showWeekend`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#showweekend) property is set to `false`.
+Here, the working days are defined as [1, 3, 4, 5] on Scheduler and therefore the remaining days (0, 2, 6 – Sunday, Tuesday and Saturday) are considered as non-working or weekend days and will be hidden from all the views when [`showWeekend`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#showweekend) property is set to `false`.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -67,7 +67,7 @@ Here, the working days are defined as [1, 3, 4, 5] on Scheduler and therefore th
It is possible to show the week number count of a week in the header bar of the Scheduler by setting true to `showWeekNumber` property. By default, its default value is `false`. In Month view, the week numbers are displayed as a first column.
-> The [`showWeekNumber`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#showweeknumber) property is not applicable on Timeline views, as it has the equivalent [`headerRows`](./header-rows#display-week-numbers-in-timeline-views) property to handle such requirement with additional customization.
+> The [`showWeekNumber`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#showweeknumber) property is not applicable on Timeline views, as it has the equivalent [`headerRows`](./header-rows#display-week-numbers-in-timeline-views) property to handle such requirement with additional customization.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -107,15 +107,15 @@ For more details refer to [CalendarWeekRule remarks](https://docs.microsoft.com/
{% previewsample "page.domainurl/samples/schedule/default-cs92" %}
- **Note**: Enable the [`showWeekNumber`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#showweeknumber) property to configure the [`weekRule`](https://ej2.syncfusion.com/angular/documentation/api/schedule/#weekrule) property. Also, the `weekRule` property depends on the value of the [`firstDayOfWeek`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views/#firstdayofweek) property.
+ **Note**: Enable the [`showWeekNumber`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#showweeknumber) property to configure the [`weekRule`](https://ej2.syncfusion.com/angular/documentation/api/schedule#weekrule) property. Also, the `weekRule` property depends on the value of the [`firstDayOfWeek`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/views#firstdayofweek) property.
## Set working hours
-Working hours indicates the work hour limit within the Scheduler, which is visually highlighted with an active color on work cells. The working hours can be set on Scheduler using the [`workHours`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/#workhours) property which is of object type and includes the following sub-options,
+Working hours indicates the work hour limit within the Scheduler, which is visually highlighted with an active color on work cells. The working hours can be set on Scheduler using the [`workHours`](https://helpej2.syncfusion.com/angular/documentation/api/schedule#workhours) property which is of object type and includes the following sub-options,
-* [`highlight`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/workHoursModel/#highlight) – enables/disables the highlighting of work hours.
-* [`start`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/workHoursModel/#start) - sets the start time of the working/business hour of a day.
-* [`end`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/workHoursModel/#end) - sets the end time limit of the working/business hour of a day.
+* [`highlight`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/workHoursModel#highlight) – enables/disables the highlighting of work hours.
+* [`start`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/workHoursModel#start) - sets the start time of the working/business hour of a day.
+* [`end`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/workHoursModel#end) - sets the end time limit of the working/business hour of a day.
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
@@ -133,7 +133,7 @@ Working hours indicates the work hour limit within the Scheduler, which is visua
## Scheduler displaying custom hours
-It is possible to display the event Scheduler layout with specific time durations by hiding the unwanted hours. To do so, set the start and end hour for the Scheduler using the [`startHour`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/#starthour) and [`endHour`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/#endhour) properties respectively.
+It is possible to display the event Scheduler layout with specific time durations by hiding the unwanted hours. To do so, set the start and end hour for the Scheduler using the [`startHour`](https://helpej2.syncfusion.com/angular/documentation/api/schedule#starthour) and [`endHour`](https://helpej2.syncfusion.com/angular/documentation/api/schedule#endhour) properties respectively.
The following code example displays the Scheduler starting from the time range 7:00 AM to 6:00 PM and the remaining hours are hidden on the UI.
@@ -153,7 +153,7 @@ The following code example displays the Scheduler starting from the time range 7
## Setting start day of the week
-By default, Scheduler defaults to `Sunday` as its first day of a week. To change the Scheduler's start day of a week with different day, set the [`firstDayOfWeek`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/#firstdayofweek) property with the values ranging from 0 to 6.
+By default, Scheduler defaults to `Sunday` as its first day of a week. To change the Scheduler's start day of a week with different day, set the [`firstDayOfWeek`](https://helpej2.syncfusion.com/angular/documentation/api/schedule#firstdayofweek) property with the values ranging from 0 to 6.
> Here, Sunday is always denoted as `0`, Monday as `1` and so on.
@@ -173,7 +173,7 @@ By default, Scheduler defaults to `Sunday` as its first day of a week. To change
## Scroll to specific time and date
-You can manually scroll to a specific time on Scheduler by making use of the [`scrollTo`](https://helpej2.syncfusion.com/angular/documentation/api/schedule/#scrollto) method as depicted in the following code example.
+You can manually scroll to a specific time on Scheduler by making use of the [`scrollTo`](https://helpej2.syncfusion.com/angular/documentation/api/schedule#scrollto) method as depicted in the following code example.
{% tabs %}
{% highlight html tabtitle="app.component.html" %}
diff --git a/ej2-angular/speech-to-text/getting-started.md b/ej2-angular/speech-to-text/getting-started.md
index cd67301c066..cb4a51ae82e 100644
--- a/ej2-angular/speech-to-text/getting-started.md
+++ b/ej2-angular/speech-to-text/getting-started.md
@@ -82,10 +82,10 @@ To specify the ngcc package in the `package.json` file, add the suffix `-ngcc` w
Add SpeechToText component's styles as given below in `style.css`.
```css
-@import '../node_modules/@syncfusion/ej2-base/styles/material3.css';
-@import '../node_modules/@syncfusion/ej2-inputs/styles/material3.css';
-@import '../node_modules/@syncfusion/ej2-buttons/styles/material3.css';
-@import '../node_modules/@syncfusion/ej2-popups/styles/material3.css';
+@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-inputs/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-buttons/styles/tailwind3.css';
+@import '../node_modules/@syncfusion/ej2-popups/styles/tailwind3.css';
```
## Adding the Syncfusion SpeechToText component
@@ -137,11 +137,11 @@ The following example demonstrates a default SpeechToText component.
{% previewsample "page.domainurl/samples/speech-to-text/getting-started/index" %}
-> The [SpeechToText](../api/speech-to-text/) component requires an active internet connection and must be used in a browser that supports the [SpeechRecognition](https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition) Web Speech API.
+> The [SpeechToText](../api/speech-to-text) component requires an active internet connection and must be used in a browser that supports the [SpeechRecognition](https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition) Web Speech API.
## Customizing button content
-The content of the SpeechToText button can be customized for its active and inactive states. Use the [`content`](../api/speech-to-text/buttonSettingsModel/#content) property to define the text for the start listening state and the [`stopContent`](../api/speech-to-text/buttonSettingsModel/#stopContent) property for the stop listening state. These properties are configured within the [`buttonSettings`](../api/speech-to-text/#buttonSettings) property.
+The content of the SpeechToText button can be customized for its active and inactive states. Use the [`content`](../api/speech-to-text/buttonSettingsModel#content) property to define the text for the start listening state and the [`stopContent`](../api/speech-to-text/buttonSettingsModel#stopContent) property for the stop listening state. These properties are configured within the [`buttonSettings`](../api/speech-to-text#buttonSettings) property.
The following example shows how to configure `buttonSettings` in the SpeechToText component.
diff --git a/ej2-angular/ui-kit/build-your-first-angular-app-with-blocks.md b/ej2-angular/ui-kit/build-your-first-angular-app-with-blocks.md
index bc040e56564..f0f1afe202d 100644
--- a/ej2-angular/ui-kit/build-your-first-angular-app-with-blocks.md
+++ b/ej2-angular/ui-kit/build-your-first-angular-app-with-blocks.md
@@ -199,7 +199,7 @@ Now that **my-angular-app** is set up with the desired theme configuration, the
While copying and pasting the HTML code, you'll notice that Syncfusion® Angular components are used. To incorporate them into **my-angular-app**, install the necessary packages and add the corresponding modules to the **src -> app -> app.component.ts** file for the app to run.
-In the simple sign-in block, components such as textbox, checkbox and button are used. After copying and pasting the code into the HTML file, open the **package.json** file and add the required packages: `@syncfusion/ej2-angular-buttons` and `@syncfusion/ej2-angular-inputs`. For more details about other Syncfusion® Angular component packages, refer to this [link](https://www.npmjs.com/search?q=%40syncfusion%2Fej2-angular).
+In the simple sign-in block, components such as [textbox](https://ej2.syncfusion.com/angular/documentation/textbox/getting-started), [checkbox](https://ej2.syncfusion.com/angular/documentation/check-box/getting-started) and [button](https://ej2.syncfusion.com/angular/documentation/button/getting-started) are used. After copying and pasting the code into the HTML file, open the **package.json** file and add the required packages: `@syncfusion/ej2-angular-buttons` and `@syncfusion/ej2-angular-inputs`. For more details about other Syncfusion® Angular component packages, refer to this [link](https://www.npmjs.com/search?q=%40syncfusion%2Fej2-angular).

diff --git a/ej2-angular/ui-kit/getting-started.md b/ej2-angular/ui-kit/getting-started.md
index f696d694a79..ca668076c8e 100644
--- a/ej2-angular/ui-kit/getting-started.md
+++ b/ej2-angular/ui-kit/getting-started.md
@@ -35,14 +35,18 @@ Run the following commands one after the other in the terminal:
1. **Install dependencies**
Run the command below to install all necessary packages related to the blocks, the Syncfusion® Angular components, and the sample browser.
- 
+ ```bash
+ npm install
+ ```
This will download and install all the dependencies listed in the **package.json** file.
2. **Serve the App Locally**
Once the dependencies are installed, you can run the app locally by starting the Angular local development server. To do so, run the following command.
- 
+ ```bash
+ ng serve
+ ```
This command will start the local development server, and you'll see an output in the terminal indicating the app is running. Typically, it will display a local host URL like this:
diff --git a/ej2-angular/ui-kit/images/installing-the-required-dependencies.PNG b/ej2-angular/ui-kit/images/installing-the-required-dependencies.PNG
deleted file mode 100644
index 3d8c75c4d28..00000000000
Binary files a/ej2-angular/ui-kit/images/installing-the-required-dependencies.PNG and /dev/null differ
diff --git a/ej2-angular/ui-kit/images/local-development-server-running.PNG b/ej2-angular/ui-kit/images/local-development-server-running.PNG
index 699e4bbceb0..4851f51fc4b 100644
Binary files a/ej2-angular/ui-kit/images/local-development-server-running.PNG and b/ej2-angular/ui-kit/images/local-development-server-running.PNG differ
diff --git a/ej2-angular/ui-kit/images/running-the-angular-development-server.PNG b/ej2-angular/ui-kit/images/running-the-angular-development-server.PNG
deleted file mode 100644
index 7887c9f85ab..00000000000
Binary files a/ej2-angular/ui-kit/images/running-the-angular-development-server.PNG and /dev/null differ
diff --git a/ej2-angular/ui-kit/overview.md b/ej2-angular/ui-kit/overview.md
index 9b5de120fb7..da73703f415 100644
--- a/ej2-angular/ui-kit/overview.md
+++ b/ej2-angular/ui-kit/overview.md
@@ -10,7 +10,7 @@ domainurl: ##DomainURL##
# Overview: Essential® UI Kit for Angular
-The Essential® UI Kit for Angular comprises over 260 responsive, ready-to-use, easy-to-implement, and customizable blocks designed to help you quickly build web applications. These blocks are developed using HTML, CSS, TypeScript, and Syncfusion® Angular components, delivering robust functionality and ease of use. They are compatible with both Tailwind CSS and Bootstrap 5.3 CSS frameworks, supporting light and dark modes to offer flexibility and seamless integration across different user preferences. The UI kit includes blocks for the following categories:
+The Essential® UI Kit for Angular comprises over 260 responsive, ready-to-use, easy-to-implement, and customizable [blocks](https://ej2.syncfusion.com/angular/essential-ui-kit/#/blocks) designed to help you quickly build web applications. These blocks are developed using HTML, CSS, TypeScript, and Syncfusion® Angular components, delivering robust functionality and ease of use. They are compatible with both Tailwind CSS and Bootstrap 5.3 CSS frameworks, supporting light and dark modes to offer flexibility and seamless integration across different user preferences. The UI kit includes blocks for the following categories:
@@ -21,13 +21,13 @@ The Essential® UI Kit for Angular comprises
Authentication
@@ -35,23 +35,23 @@ The Essential® UI Kit for Angular comprises
Layouts
@@ -59,12 +59,12 @@ The Essential® UI Kit for Angular comprises
Data Visualization
@@ -72,19 +72,19 @@ The Essential® UI Kit for Angular comprises
AI
@@ -92,10 +92,10 @@ The Essential® UI Kit for Angular comprises
E-commerce
@@ -103,8 +103,8 @@ The Essential® UI Kit for Angular comprises
Communication