Skip to content

Commit

Permalink
gave up on saving the NL, moving onto poseClassification
Browse files Browse the repository at this point in the history
  • Loading branch information
DrSpaniel committed Feb 27, 2024
1 parent 91d0146 commit 9cb9225
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 18 deletions.
75 changes: 57 additions & 18 deletions projects/Wint24/ML/nauralNetwork/js/script.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,23 +8,25 @@ let model;
let targetLabel = "C";
//let trainingData = [];

let state = "collection";
let state = "collection"; //begins by collecting data, might have to be changed
let env;
let wave;

let notes = {
//notes used by the sound stuff
C: 261.6256,
D: 293.6648,
E: 329.6276,
F: 349.2282,
G: 391.9954,
A: 440.0000,
B: 493.8833
A: 440.0,
B: 493.8833,
};

function setup() {
createCanvas(400, 400);

//sound stuff
env = new p5.Envelope();
env.setADSR(0.05, 0.1, 0.5, 1);
env.setRange(1.2, 0);
Expand All @@ -35,41 +37,76 @@ function setup() {
wave.start();
wave.freq(440);
wave.amp(env);
//end sound stuff

let options = {
//parameters for network. 2 inputs, and outputs are label.
//network will use the classify task, and debug is true to
//show the graph when training.
inputs: ["x", "y"],
outputs: ["label"],
task: "classification",
debug: "true",
};

model = ml5.neuralNetwork(options);
model = ml5.neuralNetwork(options); //this begins the model with the above params.

model.loadData("./mouse-notes.json", dataLoaded); //loads training data

background(255);
}

function dataLoaded() {
//THIS IS BROKEN, I CANT FIND OUT WHY XS' X AND Y VALS ARE NORMALIZED AND HOW TO REVERT THAT
//ALSO, THE JSON RETURNS AS EMPTY IF TRAINING DOES NOT START


// console.log(model.data);

let data = model.data.training;

for (let i = 0; i < data.length; i++) {
let inputs = data[i].xs;
let target = data[i].ys;

stroke(0);
noFill();
ellipse(inputs.x, inputs.y, 24);
fill(0);
noStroke();
textAlign(CENTER, CENTER);
text(target.label, inputs.x, inputs.y);
}
state = "training";
console.log("starting training!");
model.normalizeData(); //this makes all numbers relative to 0 and 1
let options = {
epochs: 100, //200 cycles, takes longer but is more accurate
};
model.train(options, whileTraining, finishedTraining); //using options params, calls whileTraining during training, and calls finishedTraining when done training,
}

function keyPressed() {
if (key == "t") {
state = "training";
console.log("starting training!");
model.normalizeData();
let options = {
epochs: 200,
};
model.train(options, whileTraining, finishedTraining);
} else if (key == 's'){
model.saveData('mouse-notes');
//assign a train button
} else if (key == "s") {
//assign a save button
model.saveData("mouse-notes"); //call it mouse-notes
} else {
targetLabel = key.toUpperCase();
targetLabel = key.toUpperCase(); //letter pressed to show network
}
}

function whileTraining(epoch, loss) {
//loss is error of incorrect guesses
console.log(epoch);
console.log(epoch); //for each cycle, print the epoch to show progress
}

function finishedTraining() {
//self explanatory
console.log("finished training!");
state = "prediction";
//dataLoaded();
}

function mousePressed() {
Expand All @@ -79,12 +116,14 @@ function mousePressed() {
};

if (state == "collection") {
//when in learning state
let target = {
label: targetLabel,
};

model.addData(inputs, target);
model.addData(inputs, target); //add data that shows what each letter should be.

//all this is user made.
stroke(0);
noFill();
ellipse(mouseX, mouseY, 24);
Expand Down Expand Up @@ -112,9 +151,9 @@ function gotResults(error, results) {
fill(0);
noStroke();
textAlign(CENTER, CENTER);
let label = results[0].label;
let label = results[0].label; //whatever is the most confident, make it that letter
text(label, mouseX, mouseY);

wave.freq(notes[label]);
wave.freq(notes[label]); //then using that confident letter, play that note
env.play();
}
1 change: 1 addition & 0 deletions projects/Wint24/ML/nauralNetwork/mouse-notes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"data":[{"xs":{"x":34,"y":59.5},"ys":{"label":"C"}},{"xs":{"x":29,"y":54.5},"ys":{"label":"C"}},{"xs":{"x":30,"y":99.5},"ys":{"label":"C"}},{"xs":{"x":30,"y":134.5},"ys":{"label":"C"}},{"xs":{"x":30,"y":120.5},"ys":{"label":"C"}},{"xs":{"x":26,"y":82.5},"ys":{"label":"C"}},{"xs":{"x":24,"y":58.5},"ys":{"label":"C"}},{"xs":{"x":26,"y":91.5},"ys":{"label":"C"}},{"xs":{"x":27,"y":122.5},"ys":{"label":"C"}},{"xs":{"x":32,"y":139.5},"ys":{"label":"C"}},{"xs":{"x":28,"y":91.5},"ys":{"label":"C"}},{"xs":{"x":32,"y":61.5},"ys":{"label":"C"}},{"xs":{"x":41,"y":71.5},"ys":{"label":"C"}},{"xs":{"x":53,"y":157.5},"ys":{"label":"C"}},{"xs":{"x":43,"y":157.5},"ys":{"label":"C"}},{"xs":{"x":41,"y":74.5},"ys":{"label":"C"}},{"xs":{"x":43,"y":77.5},"ys":{"label":"C"}},{"xs":{"x":47,"y":152.5},"ys":{"label":"C"}},{"xs":{"x":36,"y":118.5},"ys":{"label":"C"}},{"xs":{"x":35,"y":74.5},"ys":{"label":"C"}},{"xs":{"x":43,"y":74.5},"ys":{"label":"C"}},{"xs":{"x":36,"y":74.5},"ys":{"label":"C"}},{"xs":{"x":24,"y":92.5},"ys":{"label":"C"}},{"xs":{"x":33,"y":107.5},"ys":{"label":"C"}},{"xs":{"x":26,"y":115.5},"ys":{"label":"C"}},{"xs":{"x":18,"y":119.5},"ys":{"label":"C"}},{"xs":{"x":17,"y":123.5},"ys":{"label":"C"}},{"xs":{"x":20,"y":160.5},"ys":{"label":"C"}},{"xs":{"x":32,"y":161.5},"ys":{"label":"C"}},{"xs":{"x":39,"y":162.5},"ys":{"label":"C"}},{"xs":{"x":43,"y":160.5},"ys":{"label":"C"}},{"xs":{"x":40,"y":155.5},"ys":{"label":"C"}},{"xs":{"x":34,"y":155.5},"ys":{"label":"C"}},{"xs":{"x":35,"y":154.5},"ys":{"label":"C"}},{"xs":{"x":145,"y":60.5},"ys":{"label":"D"}},{"xs":{"x":139,"y":59.5},"ys":{"label":"D"}},{"xs":{"x":133,"y":61.5},"ys":{"label":"D"}},{"xs":{"x":117,"y":74.5},"ys":{"label":"D"}},{"xs":{"x":111,"y":102.5},"ys":{"label":"D"}},{"xs":{"x":124,"y":116.5},"ys":{"label":"D"}},{"xs":{"x":124,"y":135.5},"ys":{"label":"D"}},{"xs":{"x":129,"y":151.5},"ys":{"label":"D"}},{"xs":{"x":126,"y":152.5},"ys":{"label":"D"}},{"xs":{"x":123,"y":152.5},"ys":{"label":"D"}},{"xs":{"x":131,"y":147.5},"ys":{"label":"D"}},{"xs":{"x":133,"y":123.5},"ys":{"label":"D"}},{"xs":{"x":140,"y":109.5},"ys":{"label":"D"}},{"xs":{"x":140,"y":84.5},"ys":{"label":"D"}},{"xs":{"x":144,"y":65.5},"ys":{"label":"D"}},{"xs":{"x":144,"y":61.5},"ys":{"label":"D"}},{"xs":{"x":155,"y":124.5},"ys":{"label":"D"}},{"xs":{"x":170,"y":219.5},"ys":{"label":"D"}},{"xs":{"x":153,"y":211.5},"ys":{"label":"D"}},{"xs":{"x":172,"y":189.5},"ys":{"label":"D"}},{"xs":{"x":168,"y":153.5},"ys":{"label":"D"}},{"xs":{"x":151,"y":135.5},"ys":{"label":"D"}},{"xs":{"x":148,"y":110.5},"ys":{"label":"D"}},{"xs":{"x":142,"y":97.5},"ys":{"label":"D"}},{"xs":{"x":133,"y":98.5},"ys":{"label":"D"}},{"xs":{"x":137,"y":90.5},"ys":{"label":"D"}},{"xs":{"x":129,"y":95.5},"ys":{"label":"D"}},{"xs":{"x":164,"y":205.5},"ys":{"label":"D"}},{"xs":{"x":136,"y":176.5},"ys":{"label":"D"}},{"xs":{"x":138,"y":156.5},"ys":{"label":"D"}},{"xs":{"x":148,"y":149.5},"ys":{"label":"D"}},{"xs":{"x":150,"y":148.5},"ys":{"label":"D"}},{"xs":{"x":159,"y":152.5},"ys":{"label":"D"}},{"xs":{"x":160,"y":197.5},"ys":{"label":"D"}},{"xs":{"x":163,"y":207.5},"ys":{"label":"D"}},{"xs":{"x":150,"y":181.5},"ys":{"label":"D"}},{"xs":{"x":159,"y":137.5},"ys":{"label":"D"}},{"xs":{"x":156,"y":123.5},"ys":{"label":"D"}},{"xs":{"x":165,"y":121.5},"ys":{"label":"D"}},{"xs":{"x":168,"y":120.5},"ys":{"label":"D"}},{"xs":{"x":157,"y":109.5},"ys":{"label":"D"}},{"xs":{"x":157,"y":100.5},"ys":{"label":"D"}},{"xs":{"x":159,"y":154.5},"ys":{"label":"D"}},{"xs":{"x":158,"y":179.5},"ys":{"label":"D"}},{"xs":{"x":151,"y":190.5},"ys":{"label":"D"}},{"xs":{"x":157,"y":195.5},"ys":{"label":"D"}},{"xs":{"x":42,"y":150.5},"ys":{"label":"C"}},{"xs":{"x":47,"y":172.5},"ys":{"label":"C"}},{"xs":{"x":41,"y":202.5},"ys":{"label":"C"}},{"xs":{"x":26,"y":197.5},"ys":{"label":"C"}},{"xs":{"x":30,"y":193.5},"ys":{"label":"C"}},{"xs":{"x":23,"y":181.5},"ys":{"label":"C"}},{"xs":{"x":20,"y":164.5},"ys":{"label":"C"}},{"xs":{"x":18,"y":155.5},"ys":{"label":"C"}},{"xs":{"x":15,"y":154.5},"ys":{"label":"C"}},{"xs":{"x":7,"y":154.5},"ys":{"label":"C"}},{"xs":{"x":25,"y":159.5},"ys":{"label":"C"}},{"xs":{"x":19,"y":160.5},"ys":{"label":"C"}},{"xs":{"x":25,"y":159.5},"ys":{"label":"C"}},{"xs":{"x":32,"y":171.5},"ys":{"label":"C"}},{"xs":{"x":33,"y":183.5},"ys":{"label":"C"}},{"xs":{"x":49,"y":192.5},"ys":{"label":"C"}},{"xs":{"x":51,"y":91.5},"ys":{"label":"C"}},{"xs":{"x":51,"y":79.5},"ys":{"label":"C"}},{"xs":{"x":49,"y":103.5},"ys":{"label":"C"}},{"xs":{"x":54,"y":172.5},"ys":{"label":"C"}},{"xs":{"x":56,"y":172.5},"ys":{"label":"C"}},{"xs":{"x":267,"y":64.5},"ys":{"label":"E"}},{"xs":{"x":278,"y":61.5},"ys":{"label":"E"}},{"xs":{"x":278,"y":61.5},"ys":{"label":"E"}},{"xs":{"x":256,"y":62.5},"ys":{"label":"E"}},{"xs":{"x":263,"y":75.5},"ys":{"label":"E"}},{"xs":{"x":253,"y":91.5},"ys":{"label":"E"}},{"xs":{"x":259,"y":104.5},"ys":{"label":"E"}},{"xs":{"x":259,"y":123.5},"ys":{"label":"E"}},{"xs":{"x":259,"y":149.5},"ys":{"label":"E"}},{"xs":{"x":261,"y":180.5},"ys":{"label":"E"}},{"xs":{"x":268,"y":189.5},"ys":{"label":"E"}},{"xs":{"x":271,"y":185.5},"ys":{"label":"E"}},{"xs":{"x":276,"y":164.5},"ys":{"label":"E"}},{"xs":{"x":271,"y":156.5},"ys":{"label":"E"}},{"xs":{"x":278,"y":150.5},"ys":{"label":"E"}},{"xs":{"x":279,"y":144.5},"ys":{"label":"E"}},{"xs":{"x":260,"y":135.5},"ys":{"label":"E"}},{"xs":{"x":272,"y":124.5},"ys":{"label":"E"}},{"xs":{"x":264,"y":112.5},"ys":{"label":"E"}},{"xs":{"x":276,"y":95.5},"ys":{"label":"E"}},{"xs":{"x":274,"y":89.5},"ys":{"label":"E"}},{"xs":{"x":271,"y":83.5},"ys":{"label":"E"}},{"xs":{"x":276,"y":79.5},"ys":{"label":"E"}},{"xs":{"x":280,"y":95.5},"ys":{"label":"E"}},{"xs":{"x":267,"y":111.5},"ys":{"label":"E"}},{"xs":{"x":261,"y":121.5},"ys":{"label":"E"}},{"xs":{"x":269,"y":133.5},"ys":{"label":"E"}},{"xs":{"x":264,"y":142.5},"ys":{"label":"E"}},{"xs":{"x":259,"y":167.5},"ys":{"label":"E"}},{"xs":{"x":273,"y":205.5},"ys":{"label":"E"}},{"xs":{"x":276,"y":207.5},"ys":{"label":"E"}},{"xs":{"x":269,"y":211.5},"ys":{"label":"E"}},{"xs":{"x":265,"y":211.5},"ys":{"label":"E"}},{"xs":{"x":275,"y":210.5},"ys":{"label":"E"}},{"xs":{"x":275,"y":207.5},"ys":{"label":"E"}},{"xs":{"x":275,"y":200.5},"ys":{"label":"E"}},{"xs":{"x":277,"y":194.5},"ys":{"label":"E"}},{"xs":{"x":274,"y":191.5},"ys":{"label":"E"}},{"xs":{"x":271,"y":185.5},"ys":{"label":"E"}},{"xs":{"x":272,"y":176.5},"ys":{"label":"E"}},{"xs":{"x":284,"y":165.5},"ys":{"label":"E"}},{"xs":{"x":278,"y":151.5},"ys":{"label":"E"}},{"xs":{"x":291,"y":136.5},"ys":{"label":"E"}},{"xs":{"x":291,"y":133.5},"ys":{"label":"E"}},{"xs":{"x":280,"y":131.5},"ys":{"label":"E"}},{"xs":{"x":290,"y":123.5},"ys":{"label":"E"}},{"xs":{"x":289,"y":118.5},"ys":{"label":"E"}},{"xs":{"x":286,"y":107.5},"ys":{"label":"E"}},{"xs":{"x":272,"y":96.5},"ys":{"label":"E"}},{"xs":{"x":38,"y":244.5},"ys":{"label":"F"}},{"xs":{"x":55,"y":240.5},"ys":{"label":"F"}},{"xs":{"x":57,"y":244.5},"ys":{"label":"F"}},{"xs":{"x":30,"y":247.5},"ys":{"label":"F"}},{"xs":{"x":35,"y":248.5},"ys":{"label":"F"}},{"xs":{"x":27,"y":250.5},"ys":{"label":"F"}},{"xs":{"x":26,"y":249.5},"ys":{"label":"F"}},{"xs":{"x":41,"y":264.5},"ys":{"label":"F"}},{"xs":{"x":33,"y":266.5},"ys":{"label":"F"}},{"xs":{"x":40,"y":266.5},"ys":{"label":"F"}},{"xs":{"x":36,"y":262.5},"ys":{"label":"F"}},{"xs":{"x":47,"y":261.5},"ys":{"label":"F"}},{"xs":{"x":27,"y":263.5},"ys":{"label":"F"}},{"xs":{"x":23,"y":266.5},"ys":{"label":"F"}},{"xs":{"x":51,"y":276.5},"ys":{"label":"F"}},{"xs":{"x":31,"y":278.5},"ys":{"label":"F"}},{"xs":{"x":38,"y":279.5},"ys":{"label":"F"}},{"xs":{"x":47,"y":286.5},"ys":{"label":"F"}},{"xs":{"x":34,"y":290.5},"ys":{"label":"F"}},{"xs":{"x":17,"y":296.5},"ys":{"label":"F"}},{"xs":{"x":16,"y":304.5},"ys":{"label":"F"}},{"xs":{"x":11,"y":310.5},"ys":{"label":"F"}},{"xs":{"x":32,"y":310.5},"ys":{"label":"F"}},{"xs":{"x":36,"y":310.5},"ys":{"label":"F"}},{"xs":{"x":23,"y":310.5},"ys":{"label":"F"}},{"xs":{"x":37,"y":309.5},"ys":{"label":"F"}},{"xs":{"x":15,"y":310.5},"ys":{"label":"F"}},{"xs":{"x":7,"y":312.5},"ys":{"label":"F"}},{"xs":{"x":35,"y":308.5},"ys":{"label":"F"}},{"xs":{"x":29,"y":306.5},"ys":{"label":"F"}},{"xs":{"x":34,"y":307.5},"ys":{"label":"F"}},{"xs":{"x":24,"y":310.5},"ys":{"label":"F"}},{"xs":{"x":40,"y":308.5},"ys":{"label":"F"}},{"xs":{"x":28,"y":310.5},"ys":{"label":"F"}},{"xs":{"x":42,"y":309.5},"ys":{"label":"F"}},{"xs":{"x":20,"y":324.5},"ys":{"label":"F"}},{"xs":{"x":47,"y":320.5},"ys":{"label":"F"}},{"xs":{"x":-20,"y":337.5},"ys":{"label":"F"}},{"xs":{"x":11,"y":343.5},"ys":{"label":"F"}},{"xs":{"x":3,"y":346.5},"ys":{"label":"F"}},{"xs":{"x":32,"y":349.5},"ys":{"label":"F"}},{"xs":{"x":52,"y":341.5},"ys":{"label":"F"}},{"xs":{"x":20,"y":333.5},"ys":{"label":"F"}},{"xs":{"x":41,"y":316.5},"ys":{"label":"F"}},{"xs":{"x":23,"y":305.5},"ys":{"label":"F"}},{"xs":{"x":39,"y":292.5},"ys":{"label":"F"}},{"xs":{"x":39,"y":280.5},"ys":{"label":"F"}},{"xs":{"x":15,"y":280.5},"ys":{"label":"F"}},{"xs":{"x":29,"y":285.5},"ys":{"label":"F"}},{"xs":{"x":38,"y":285.5},"ys":{"label":"F"}},{"xs":{"x":39,"y":283.5},"ys":{"label":"F"}},{"xs":{"x":49,"y":285.5},"ys":{"label":"F"}},{"xs":{"x":153,"y":255.5},"ys":{"label":"G"}},{"xs":{"x":151,"y":255.5},"ys":{"label":"G"}},{"xs":{"x":151,"y":255.5},"ys":{"label":"G"}},{"xs":{"x":149,"y":258.5},"ys":{"label":"G"}},{"xs":{"x":163,"y":262.5},"ys":{"label":"G"}},{"xs":{"x":162,"y":265.5},"ys":{"label":"G"}},{"xs":{"x":151,"y":267.5},"ys":{"label":"G"}},{"xs":{"x":163,"y":268.5},"ys":{"label":"G"}},{"xs":{"x":150,"y":262.5},"ys":{"label":"G"}},{"xs":{"x":147,"y":261.5},"ys":{"label":"G"}},{"xs":{"x":151,"y":260.5},"ys":{"label":"G"}},{"xs":{"x":146,"y":263.5},"ys":{"label":"G"}},{"xs":{"x":148,"y":266.5},"ys":{"label":"G"}},{"xs":{"x":156,"y":267.5},"ys":{"label":"G"}},{"xs":{"x":155,"y":267.5},"ys":{"label":"G"}},{"xs":{"x":143,"y":280.5},"ys":{"label":"G"}},{"xs":{"x":141,"y":283.5},"ys":{"label":"G"}},{"xs":{"x":145,"y":287.5},"ys":{"label":"G"}},{"xs":{"x":152,"y":287.5},"ys":{"label":"G"}},{"xs":{"x":175,"y":289.5},"ys":{"label":"G"}},{"xs":{"x":186,"y":288.5},"ys":{"label":"G"}},{"xs":{"x":168,"y":289.5},"ys":{"label":"G"}},{"xs":{"x":150,"y":289.5},"ys":{"label":"G"}},{"xs":{"x":144,"y":289.5},"ys":{"label":"G"}},{"xs":{"x":135,"y":287.5},"ys":{"label":"G"}},{"xs":{"x":141,"y":291.5},"ys":{"label":"G"}},{"xs":{"x":142,"y":302.5},"ys":{"label":"G"}},{"xs":{"x":167,"y":312.5},"ys":{"label":"G"}},{"xs":{"x":152,"y":310.5},"ys":{"label":"G"}},{"xs":{"x":146,"y":310.5},"ys":{"label":"G"}},{"xs":{"x":150,"y":309.5},"ys":{"label":"G"}},{"xs":{"x":150,"y":309.5},"ys":{"label":"G"}},{"xs":{"x":153,"y":308.5},"ys":{"label":"G"}},{"xs":{"x":155,"y":309.5},"ys":{"label":"G"}},{"xs":{"x":150,"y":315.5},"ys":{"label":"G"}},{"xs":{"x":160,"y":321.5},"ys":{"label":"G"}},{"xs":{"x":156,"y":328.5},"ys":{"label":"G"}},{"xs":{"x":166,"y":328.5},"ys":{"label":"G"}},{"xs":{"x":178,"y":330.5},"ys":{"label":"A"}},{"xs":{"x":272,"y":251.5},"ys":{"label":"A"}},{"xs":{"x":274,"y":253.5},"ys":{"label":"A"}},{"xs":{"x":268,"y":255.5},"ys":{"label":"A"}},{"xs":{"x":273,"y":262.5},"ys":{"label":"A"}},{"xs":{"x":276,"y":266.5},"ys":{"label":"A"}},{"xs":{"x":275,"y":266.5},"ys":{"label":"A"}},{"xs":{"x":271,"y":267.5},"ys":{"label":"A"}},{"xs":{"x":266,"y":270.5},"ys":{"label":"A"}},{"xs":{"x":275,"y":268.5},"ys":{"label":"A"}},{"xs":{"x":273,"y":270.5},"ys":{"label":"A"}},{"xs":{"x":283,"y":278.5},"ys":{"label":"A"}},{"xs":{"x":281,"y":279.5},"ys":{"label":"A"}},{"xs":{"x":279,"y":282.5},"ys":{"label":"A"}},{"xs":{"x":274,"y":284.5},"ys":{"label":"A"}},{"xs":{"x":252,"y":291.5},"ys":{"label":"A"}},{"xs":{"x":311,"y":306.5},"ys":{"label":"A"}},{"xs":{"x":293,"y":295.5},"ys":{"label":"A"}},{"xs":{"x":292,"y":293.5},"ys":{"label":"A"}},{"xs":{"x":279,"y":294.5},"ys":{"label":"A"}},{"xs":{"x":275,"y":302.5},"ys":{"label":"A"}},{"xs":{"x":271,"y":307.5},"ys":{"label":"A"}},{"xs":{"x":269,"y":308.5},"ys":{"label":"A"}},{"xs":{"x":274,"y":308.5},"ys":{"label":"A"}},{"xs":{"x":265,"y":313.5},"ys":{"label":"A"}},{"xs":{"x":273,"y":312.5},"ys":{"label":"A"}},{"xs":{"x":279,"y":313.5},"ys":{"label":"A"}},{"xs":{"x":281,"y":313.5},"ys":{"label":"A"}},{"xs":{"x":287,"y":323.5},"ys":{"label":"A"}},{"xs":{"x":303,"y":329.5},"ys":{"label":"A"}},{"xs":{"x":286,"y":326.5},"ys":{"label":"A"}},{"xs":{"x":171,"y":398.5},"ys":{"label":"B"}},{"xs":{"x":159,"y":392.5},"ys":{"label":"B"}},{"xs":{"x":155,"y":391.5},"ys":{"label":"B"}},{"xs":{"x":151,"y":390.5},"ys":{"label":"B"}},{"xs":{"x":144,"y":387.5},"ys":{"label":"B"}},{"xs":{"x":129,"y":389.5},"ys":{"label":"B"}},{"xs":{"x":155,"y":393.5},"ys":{"label":"B"}},{"xs":{"x":114,"y":401.5},"ys":{"label":"B"}},{"xs":{"x":79,"y":400.5},"ys":{"label":"B"}},{"xs":{"x":87,"y":395.5},"ys":{"label":"B"}},{"xs":{"x":123,"y":395.5},"ys":{"label":"B"}},{"xs":{"x":145,"y":397.5},"ys":{"label":"B"}},{"xs":{"x":149,"y":393.5},"ys":{"label":"B"}},{"xs":{"x":174,"y":391.5},"ys":{"label":"B"}},{"xs":{"x":219,"y":403.5},"ys":{"label":"B"}},{"xs":{"x":195,"y":380.5},"ys":{"label":"B"}},{"xs":{"x":155,"y":363.5},"ys":{"label":"B"}},{"xs":{"x":154,"y":365.5},"ys":{"label":"B"}},{"xs":{"x":149,"y":369.5},"ys":{"label":"B"}},{"xs":{"x":139,"y":372.5},"ys":{"label":"B"}},{"xs":{"x":108,"y":368.5},"ys":{"label":"B"}},{"xs":{"x":73,"y":371.5},"ys":{"label":"B"}},{"xs":{"x":99,"y":373.5},"ys":{"label":"B"}},{"xs":{"x":134,"y":380.5},"ys":{"label":"B"}},{"xs":{"x":156,"y":380.5},"ys":{"label":"B"}},{"xs":{"x":156,"y":381.5},"ys":{"label":"B"}},{"xs":{"x":162,"y":380.5},"ys":{"label":"B"}},{"xs":{"x":174,"y":383.5},"ys":{"label":"B"}},{"xs":{"x":197,"y":384.5},"ys":{"label":"B"}},{"xs":{"x":201,"y":386.5},"ys":{"label":"B"}},{"xs":{"x":189,"y":387.5},"ys":{"label":"B"}},{"xs":{"x":189,"y":388.5},"ys":{"label":"B"}},{"xs":{"x":187,"y":392.5},"ys":{"label":"B"}},{"xs":{"x":133,"y":392.5},"ys":{"label":"B"}},{"xs":{"x":131,"y":391.5},"ys":{"label":"B"}},{"xs":{"x":116,"y":389.5},"ys":{"label":"B"}},{"xs":{"x":220,"y":381.5},"ys":{"label":"B"}}]}

0 comments on commit 9cb9225

Please sign in to comment.