Commit b41c932e authored by Kruyff,D.L.W. (Dylan)'s avatar Kruyff,D.L.W. (Dylan)
Browse files

Redo lost changes

parent 8d4ead19
Documents/ Documents/
AngularApp/prototype/node_modules AngularApp/prototype/node_modules
\ No newline at end of file Flaskserver/venv/*
\ No newline at end of file
...@@ -16420,6 +16420,25 @@ ...@@ -16420,6 +16420,25 @@
"cwise-compiler": "^1.0.0" "cwise-compiler": "^1.0.0"
} }
}, },
"zingchart": {
"version": "2.9.1",
"resolved": "https://registry.npmjs.org/zingchart/-/zingchart-2.9.1.tgz",
"integrity": "sha512-LYCiqkzdDn5OxPqShfvUNcTtXxVgZDVqEztGINBb0EA9a1b1TOrLbW/BdJPpeobBahXSxvHYLO6NV/Dbw309Vw=="
},
"zingchart-angular": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/zingchart-angular/-/zingchart-angular-1.0.0.tgz",
"integrity": "sha512-T55KMk/1k5pcQ5sxTx0RTzIElbkJKWbvfgLTLiqaLz7kobrGLHxuNNS9Oya36p2Oaq/CxtoYFnCpM2V+zFd9Wg==",
"requires": {
"tslib": "^1.9.0",
"zingchart": "^2.9.1",
"zingchart-constants": "github:zingchart/zingchart-constants#master"
}
},
"zingchart-constants": {
"version": "github:zingchart/zingchart-constants#2cb0b3a55bbae8ee6fb943161fdd5b71618bc95f",
"from": "github:zingchart/zingchart-constants#master"
},
"zone.js": { "zone.js": {
"version": "0.10.3", "version": "0.10.3",
"resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz",
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
"plotly.js": "^1.54.6", "plotly.js": "^1.54.6",
"rxjs": "~6.5.4", "rxjs": "~6.5.4",
"tslib": "^1.10.0", "tslib": "^1.10.0",
"zingchart-angular": "^1.0.0",
"zone.js": "~0.10.2" "zone.js": "~0.10.2"
}, },
"devDependencies": { "devDependencies": {
......
...@@ -32,19 +32,21 @@ export class ApiService { ...@@ -32,19 +32,21 @@ export class ApiService {
}, },
body: JSON.stringify(postData) body: JSON.stringify(postData)
}); });
return (await response.json()).data; return await response.json();
} }
// Generate LSH-tables by hashing each window // Generate LSH-tables by hashing each window
async createTables(windows, parameters): Promise<any> { async createTables(windows, parameters): Promise<any> {
console.log("creating tables");
const postData = {windows, parameters}; const postData = {windows, parameters};
console.log("ahh");
const response = await fetch('http://127.0.0.1:5000/create-tables', { const response = await fetch('http://127.0.0.1:5000/create-tables', {
method: 'POST', method: 'POST',
headers: { headers: {
'Accept': 'application/json', 'Accept': 'application/json',
'Content-Type': 'application/json' 'Content-Type': 'application/json'
}, },
body: JSON.stringify(postData) body: new Blob( [ JSON.stringify(postData) ], { type: 'text/plain' } )
}); });
return await response.json(); return await response.json();
} }
...@@ -70,7 +72,7 @@ export class ApiService { ...@@ -70,7 +72,7 @@ export class ApiService {
'Accept': 'application/json', 'Accept': 'application/json',
'Content-Type': 'application/json' 'Content-Type': 'application/json'
}, },
body: JSON.stringify(postData) body: new Blob( [ JSON.stringify(postData) ], { type: 'text/plain' } )
}); });
return await response.json(); return await response.json();
} }
......
...@@ -14,6 +14,7 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; ...@@ -14,6 +14,7 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import {MatTabsModule} from '@angular/material/tabs'; import {MatTabsModule} from '@angular/material/tabs';
import { LabelsComponent } from './labels/labels.component'; import { LabelsComponent } from './labels/labels.component';
import { QueryWindowComponent } from './query-window/query-window.component'; import { QueryWindowComponent } from './query-window/query-window.component';
import {ZingchartAngularModule} from 'zingchart-angular';
PlotlyModule.plotlyjs = PlotlyJS; PlotlyModule.plotlyjs = PlotlyJS;
...@@ -32,7 +33,8 @@ PlotlyModule.plotlyjs = PlotlyJS; ...@@ -32,7 +33,8 @@ PlotlyModule.plotlyjs = PlotlyJS;
FormsModule, FormsModule,
PlotlyModule, PlotlyModule,
BrowserAnimationsModule, BrowserAnimationsModule,
MatTabsModule MatTabsModule,
ZingchartAngularModule
], ],
providers: [], providers: [],
bootstrap: [AppComponent] bootstrap: [AppComponent]
......
...@@ -15,9 +15,10 @@ export class CacheService { ...@@ -15,9 +15,10 @@ export class CacheService {
private _tables; private _tables;
private _windowSimilarity; private _windowSimilarity;
public windowSize = 60; public windowSize = 200;
public nrOfTables = 10; public nrOfTables = 10;
public hashSize = 10; public hashSize = 5;
public stepSize = 1;
public onNewSimilarity: EventEmitter<void> = new EventEmitter<void>(); public onNewSimilarity: EventEmitter<void> = new EventEmitter<void>();
public onNewLabels: EventEmitter<void> = new EventEmitter<void>(); public onNewLabels: EventEmitter<void> = new EventEmitter<void>();
...@@ -130,7 +131,8 @@ export class CacheService { ...@@ -130,7 +131,8 @@ export class CacheService {
return { return {
windowsize: this.windowSize, windowsize: this.windowSize,
hashsize: this.hashSize, hashsize: this.hashSize,
tablesize: this.nrOfTables tablesize: this.nrOfTables,
stepsize: this.stepSize
}; };
} }
} }
...@@ -94,6 +94,9 @@ export class LabelingWindowComponent implements OnInit { ...@@ -94,6 +94,9 @@ export class LabelingWindowComponent implements OnInit {
titlefont: { titlefont: {
size: 9 size: 9
}, },
xaxis: {
showticklabels: false,
}
} }
} }
); );
......
<div style="overflow: auto"> <div style="overflow: auto">
<plotly-plot *ngIf="showPlot" [data]="data" [layout]="layout" (plotly_click)="clicked($event)"></plotly-plot> <!-- <plotly-plot *ngIf="showPlot" [data]="data" [layout]="layout" (plotly_click)="clicked($event)"></plotly-plot>-->
</div> </div>
<zingchart-angular [config]="config" [height]="500" [series]="series" (node_click)="clicked($event)"></zingchart-angular>
import {ChangeDetectorRef, Component, OnInit} from '@angular/core'; import { Component} from '@angular/core';
import { CacheService } from '../cache.service'; import { CacheService } from '../cache.service';
import {throwError} from 'rxjs';
@Component({ @Component({
selector: 'app-overview-window', selector: 'app-overview-window',
templateUrl: './overview-window.component.html', templateUrl: './overview-window.component.html',
styleUrls: ['./overview-window.component.css'] styleUrls: ['./overview-window.component.css']
}) })
export class OverviewWindowComponent implements OnInit { export class OverviewWindowComponent {
public defaultColors: string[]; public config;
public defaultSizes: number[]; public series;
public defaultOpacity: number[];
public showPlot = false; public showPlot = false;
public data; public data;
public layout; public layout;
constructor(private service: CacheService) { } constructor(private service: CacheService) {
}
async ngOnInit(): Promise<void> { async ngOnInit(): Promise<void> {
this.service.onNewWindows.subscribe(() => { this.initializePlot(); }); this.service.onNewWindows.subscribe(() => { this.initializePlot(); });
...@@ -29,46 +28,73 @@ export class OverviewWindowComponent implements OnInit { ...@@ -29,46 +28,73 @@ export class OverviewWindowComponent implements OnInit {
async initializePlot() { async initializePlot() {
this.service.query = undefined; this.service.query = undefined;
const size = this.service.rawValues.length; // this.data = this.service.rawIndices.map((e, i) => {
this.defaultColors = Array(size).fill('#a3a7e4'); // return [e, values[i]];
this.defaultSizes = Array(size).fill(5); // });
this.defaultOpacity = Array(size).fill(1); this.data = [];
this.data = [{ for (let i = 0; i < this.service.rawValues.length; i++) {
x: this.service.rawIndices, this.data.push([i, this.service.rawValues[i]]);
y: this.service.rawValues, }
type: 'scattergl', this.config = {
// mode: 'markers', type: "mixed",
// marker: { preview: {
// size: this.defaultSizes.slice(), 'auto-fit': true,
// color: this.defaultColors.slice()} handleTop: {
}]; alpha : 0.0
this.layout = { },
hovermode: 'closest', handleBottom: {
autosize: true, alpha : 0.0
margin: { }
l: 40, },
r: 0, 'scale-x': {
b: 40, zooming: true,
t: 0, zoomTo: [0, this.service.windowSize],
pad: 4 'auto-fit': true
}, },
height: 200, 'scale-y': {
xaxis: { zooming: true,
showticklabels: false, 'auto-fit': true
// rangeslider: {}
}, },
series: [
{
type: 'line',
values: this.data,
text: 'Raw Values',
zIndex: 5,
marker: {
alpha: 0.0,
zIndex: 10
}
},
{
type: 'scatter',
values: [],
text: 'Good labels',
marker: {
backgroundColor: '#4caf50'
},
zIndex: 20,
},
{
type: 'scatter',
values: [],
text: 'Bad labels',
marker: {
backgroundColor: '#f44336'
},
zIndex: 20,
}]
}; };
this.showPlot = true;
console.log("showing plot"); console.log("showing plot");
} }
async clicked(clickData) { async clicked(clickData) {
for (const point of clickData.points) { console.log('clicked node');
this.service.query = point.pointNumber; const index = Math.floor(clickData.nodeindex / this.service.stepSize);
const temp = {}; this.service.query = index;
temp[point.pointNumber] = true; const temp = {};
this.service.labels = temp; temp[index] = true;
} this.service.labels = temp;
await this.updatePlot(); await this.updatePlot();
} }
...@@ -79,29 +105,71 @@ export class OverviewWindowComponent implements OnInit { ...@@ -79,29 +105,71 @@ export class OverviewWindowComponent implements OnInit {
// Similarity // Similarity
const windowSimilarity = await this.service.getSimilarWindows(this.service.windows[this.service.query]); const windowSimilarity = await this.service.getSimilarWindows(this.service.windows[this.service.query]);
for (const frequency in windowSimilarity){ console.log(windowSimilarity);
for (const index of windowSimilarity[frequency]) { // for (const frequency in windowSimilarity){
colors[index] = this.getColor(Number(frequency) / this.service.nrOfTables); // for (const index of windowSimilarity[frequency]) {
sizes[index] = 5; // colors[index] = this.getColor(Number(frequency) / this.service.nrOfTables);
opacity[index] = Math.max(Number(frequency) / this.service.nrOfTables, 0.5); // sizes[index] = 5;
} // opacity[index] = Math.max(Number(frequency) / this.service.nrOfTables, 0.5);
} // }
// }
// Labeled let goodLabels = [];
let badLabels = [];
for (const index in this.service.labels) { for (const index in this.service.labels) {
colors[Number(index)] = this.service.labels[index] ? '#4caf50' : '#f44336'; console.log(index);
sizes[Number(index)] = 10; if (this.service.labels[index]) {
opacity[Number(index)] = 1; goodLabels.push(this.data[index]);
} else {
badLabels.push(this.data[index]);
}
} }
console.log(goodLabels);
console.log(badLabels);
this.series = [
{
type: 'line',
values: this.data,
text: 'Raw Values',
zIndex: 5,
marker: {
alpha: 0.0,
zIndex: 10
}
},
{
type: 'scatter',
values: goodLabels,
text: 'Good labels',
marker: {
backgroundColor: '#4caf50'
},
zIndex: 20,
},
{
type: 'scatter',
values: badLabels,
text: 'Bad labels',
marker: {
backgroundColor: '#f44336'
},
zIndex: 20,
}
];
// // Labeled
// for (const index in this.service.labels) {
// colors[Number(index)] = this.service.labels[index] ? '#4caf50' : '#f44336';
// sizes[Number(index)] = 10;
// opacity[Number(index)] = 1;
// }
//
// // Query
// colors[this.service.query] = '#cf00ff';
// sizes[this.service.query] = 10;
// opacity[this.service.query] = 1;
// Query // this.data[0].marker.color = colors;
colors[this.service.query] = '#cf00ff'; // this.data[0].marker.size = sizes;
sizes[this.service.query] = 10; // this.data[0].marker.opacity = opacity;
opacity[this.service.query] = 1;
this.data[0].marker.color = colors;
this.data[0].marker.size = sizes;
this.data[0].marker.opacity = opacity;
} }
public getColor(value: number) { public getColor(value: number) {
......
...@@ -44,6 +44,9 @@ export class QueryWindowComponent implements OnInit { ...@@ -44,6 +44,9 @@ export class QueryWindowComponent implements OnInit {
titlefont: { titlefont: {
size: 9 size: 9
}, },
xaxis: {
showticklabels: false,
}
} }
}; };
} }
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="556080ba-825c-4b55-a92a-867a4df4fb32" name="Default Changelist" comment="" /> <list default="true" id="556080ba-825c-4b55-a92a-867a4df4fb32" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/../AngularApp/prototype/src/app/api.service.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../AngularApp/prototype/src/app/api.service.ts" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../AngularApp/prototype/src/app/cache.service.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../AngularApp/prototype/src/app/cache.service.ts" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../AngularApp/prototype/src/app/labeling-window/labeling-window.component.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../AngularApp/prototype/src/app/labeling-window/labeling-window.component.ts" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../AngularApp/prototype/src/app/overview-window/overview-window.component.html" beforeDir="false" afterPath="$PROJECT_DIR$/../AngularApp/prototype/src/app/overview-window/overview-window.component.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../AngularApp/prototype/src/app/overview-window/overview-window.component.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../AngularApp/prototype/src/app/overview-window/overview-window.component.ts" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../AngularApp/prototype/src/app/query-window/query-window.component.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../AngularApp/prototype/src/app/query-window/query-window.component.ts" afterDir="false" />
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask-2.21.0.dist-info/INSTALLER" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask-2.21.0.dist-info/LICENSE.txt" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask-2.21.0.dist-info/METADATA" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask-2.21.0.dist-info/RECORD" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask-2.21.0.dist-info/WHEEL" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask-2.21.0.dist-info/top_level.txt" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/_version.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/_version.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/backends.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/backends.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/blockwise.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/blockwise.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/chunk.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/chunk.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/core.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/core.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/fft.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/fft.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/gufunc.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/gufunc.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/image.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/image.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/linalg.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/linalg.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/numpy_compat.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/numpy_compat.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/optimization.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/optimization.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/overlap.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/overlap.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/percentile.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/percentile.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/random.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/random.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/rechunk.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/rechunk.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/reductions.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/reductions.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/reshape.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/reshape.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/routines.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/routines.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/slicing.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/slicing.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/svg.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/svg.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_array_core.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_array_core.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_array_function.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_array_function.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_array_utils.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_array_utils.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_creation.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_creation.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_cupy.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_cupy.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_gufunc.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_gufunc.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_random.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_random.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_rechunk.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_rechunk.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_reductions.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_reductions.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_routines.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_routines.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_slicing.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_slicing.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_sparse.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_sparse.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/utils.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/utils.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/wrap.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/wrap.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bag/core.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bag/core.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bag/tests/test_bag.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bag/tests/test_bag.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bag/text.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bag/text.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/base.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/base.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/blockwise.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/blockwise.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bytes/tests/test_http.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bytes/tests/test_http.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bytes/tests/test_s3.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bytes/tests/test_s3.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/cache.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/cache.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/callbacks.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/callbacks.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/config.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/config.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/context.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/context.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/core.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/core.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/accessor.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/accessor.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/categorical.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/categorical.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/core.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/core.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/groupby.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/groupby.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/hyperloglog.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/hyperloglog.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/indexing.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/indexing.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/csv.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/csv.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/demo.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/demo.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/hdf.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/hdf.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/io.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/io.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/parquet/arrow.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/parquet/arrow.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/parquet/core.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/parquet/core.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/parquet/fastparquet.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/parquet/fastparquet.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/parquet/utils.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/parquet/utils.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/sql.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/sql.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/tests/test_parquet.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/tests/test_parquet.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/tests/test_sql.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/tests/test_sql.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/utils.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/utils.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/methods.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/methods.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/multi.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/multi.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/numeric.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/numeric.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/optimize.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/optimize.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/partitionquantiles.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/partitionquantiles.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/reshape.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/reshape.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/shuffle.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/shuffle.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_dataframe.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_dataframe.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_extensions.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_extensions.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_indexing.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_indexing.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_reshape.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_reshape.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_rolling.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_rolling.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_shuffle.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_shuffle.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_utils_dataframe.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_utils_dataframe.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tseries/resample.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tseries/resample.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tseries/tests/test_resample.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tseries/tests/test_resample.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/utils.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/utils.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/datasets.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/datasets.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dot.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dot.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/highlevelgraph.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/highlevelgraph.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/local.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/local.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/multiprocessing.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/mu