initial commit
This commit is contained in:
2
README.md
Normal file
2
README.md
Normal file
@@ -0,0 +1,2 @@
|
||||
Processing 3 version is just basic text input in command line style
|
||||
p5.js version has some working commands that make the webbrowser do things, also play animations
|
||||
747
p5js/commands.js
Normal file
747
p5js/commands.js
Normal file
@@ -0,0 +1,747 @@
|
||||
var busy = true;
|
||||
var seqIntro_b = true;
|
||||
if (location.search.split('intro=')[1] == 'false'){
|
||||
busy = false;
|
||||
seqIntro_b = false;
|
||||
}
|
||||
var seqDance_b = false;
|
||||
var seqFire_b = false;
|
||||
var seqOutside_b = false;
|
||||
var seqMaria_b = false;
|
||||
var seqSkip_b = false;
|
||||
var seqGenome_b = false;
|
||||
var seqConstructivism_b = false;
|
||||
var pfc = 0; //save framecount here to get proper delta framecount in sequence
|
||||
var npfc = 0; //^ again for nesting shit
|
||||
var minc = 0; //movie increment - how often a console animation is played before it breaks. handled in sequences function
|
||||
|
||||
function loadAnimationTexts(){
|
||||
danceText = loadStrings('console_animations/dance.txt');
|
||||
fireText = loadStrings('console_animations/fire.txt');
|
||||
}
|
||||
|
||||
function seqConstructivism(){
|
||||
var cframe = frameCount - pfc;
|
||||
if (cframe == 1) commandLine.pushLineString("Like me on Facebook!");
|
||||
if (cframe == 20){
|
||||
commandLine.pushLineString("");
|
||||
PopupCenter('https://www.facebook.com/constructivism2.0/', 'Constructivism 2.0', screen.width, screen.height);
|
||||
busy = false;
|
||||
seqConstructivism_b = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function seqGenome(){
|
||||
|
||||
var cframe = frameCount - pfc;
|
||||
if (cframe == 1) commandLine.pushLineString("genome");
|
||||
if (cframe == 10) commandLine.pushLineString("Description:");
|
||||
if (cframe == 15){
|
||||
commandLine.pushLineString("/ˈdʒiːnəʊm/");
|
||||
commandLine.pushLineString("noun - Biology");
|
||||
commandLine.pushLineString("noun: genome; plural noun: genomes");
|
||||
}
|
||||
if (cframe == 25) commandLine.pushLineString("- the haploid set of chromosomes in a gamete or microorganism, or in each cell of a multicellular organism.");
|
||||
if (cframe == 25) commandLine.pushLineString("- the complete set of genes or genetic material present in a cell or organism.");
|
||||
if (cframe == 40) commandLine.pushLineString("");
|
||||
if (cframe == 40) commandLine.pushLineString("This will download the genetic code / genome of one Homo Sapiens (human)");
|
||||
if (cframe == 40) commandLine.pushLineString("Mirrored from Source, packed as .zip-file: https://www.ncbi.nlm.nih.gov/guide/howto/dwn-genome/");
|
||||
if (cframe == 40) commandLine.pushLineString("Neither including assembled chromosome sequences nor archived files.");
|
||||
if (cframe == 40) commandLine.pushLineString("");
|
||||
if (cframe == 65) commandLine.pushLineString("I recommend finding the right structure for this set of data to implement it");
|
||||
if (cframe == 65) commandLine.pushLineString("into TensorFlow or similar machine-learning software in order to find out about your species,");
|
||||
if (cframe == 65) commandLine.pushLineString("to push enlightenment further.");
|
||||
if (cframe == 65) commandLine.pushLineString("Potentially you will first have to generate more data like this, so this would be only an example.");
|
||||
if (cframe == 145) commandLine.pushLineString("");
|
||||
if (cframe == 155) commandLine.pushLineString("Read the included README-file first.");
|
||||
if (cframe == 155) commandLine.pushLineString("");
|
||||
if (cframe == 155) commandLine.pushLineString("Starting download in 5...");
|
||||
if (cframe == 185) commandLine.changeLineString("Starting download in 4...");
|
||||
if (cframe == 215) commandLine.changeLineString("Starting download in 3...");
|
||||
if (cframe == 245) commandLine.changeLineString("Starting download in 2...");
|
||||
if (cframe == 275) commandLine.changeLineString("Starting download in 1...");
|
||||
if (cframe == 280){
|
||||
commandLine.changeLineString("Initializing download of the human genome...");
|
||||
commandLine.pushLineString("");
|
||||
PopupCenter("ftp://ftp.ncbi.nih.gov/genomes/H_sapiens/", "ftp://ftp.ncbi.nih.gov/genomes/", window.width, window.height);
|
||||
window.open("https://drive.google.com/a/hbksaar.de/uc?export=download&confirm=LHNV&id=0B6B3OnIFgX8pTktKZ05XdGNFYzg");
|
||||
busy = false;
|
||||
seqGenome_b = false;
|
||||
}
|
||||
}
|
||||
function seqIntro(){
|
||||
var cframe = frameCount - pfc;
|
||||
|
||||
if (cframe == 1) commandLine.pushLineString("tests.openface_api_tests.test_pipeline ...");
|
||||
if (cframe == 2) commandLine.changeLineString("tests.openface_api_tests.test_pipeline ... FAIL");
|
||||
if (cframe == 3) commandLine.pushLineString("tests.openface_batch_represent_tests.test_batch_represent ...");
|
||||
if (cframe == 4) commandLine.changeLineString("tests.openface_batch_represent_tests.test_batch_represent ... FAIL");
|
||||
if (cframe == 5) commandLine.pushLineString("tests.openface_demo_tests.test_compare_demo ...");
|
||||
if (cframe == 6) commandLine.changeLineString("tests.openface_demo_tests.test_compare_demo ... FAIL");
|
||||
if (cframe == 7) commandLine.pushLineString("tests.openface_demo_tests.test_classification_demo_pretrained ...");
|
||||
if (cframe == 8) commandLine.changeLineString("tests.openface_demo_tests.test_classification_demo_pretrained ... FAIL");
|
||||
if (cframe == 9) commandLine.pushLineString("tests.openface_demo_tests.test_classification_demo_pretrained_multi ...");
|
||||
if (cframe == 10) commandLine.changeLineString("tests.openface_demo_tests.test_classification_demo_pretrained_multi ... FAIL");
|
||||
if (cframe == 11) commandLine.pushLineString("tests.openface_demo_tests.test_classification_demo_training ...");
|
||||
if (cframe == 12) commandLine.changeLineString("tests.openface_demo_tests.test_classification_demo_training ... FAIL");
|
||||
if (cframe == 13) commandLine.pushLineString("tests.openface_neural_net_training_tests.test_dnn_training ...");
|
||||
if (cframe == 14) commandLine.changeLineString("tests.openface_neural_net_training_tests.test_dnn_training ... FAIL");
|
||||
if (cframe == 15) commandLine.pushLineString("tests.openface_neural_net_training_tests.test_dnn_training ...");
|
||||
if (cframe == 16) { commandLine.pushLineStrings([
|
||||
" ",
|
||||
"======================================================================",
|
||||
"FAIL: tests.openface_api_tests.test_pipeline",
|
||||
"----------------------------------------------------------------------",
|
||||
"Traceback (most recent call last):",
|
||||
" File \"/iris/python2.7/dist-packages/nose/case.py\", line 197, in runTest",
|
||||
" self.test(*self.arg)",
|
||||
" File \"/iris/openface/tests/openface_api_tests.py\", line 55, in test_pipeline",
|
||||
" assert bb.left() == 341",
|
||||
"AssertionError"
|
||||
]);
|
||||
}
|
||||
if (cframe == 17) { commandLine.pushLineStrings([
|
||||
" ",
|
||||
"======================================================================",
|
||||
"FAIL: tests.openface_batch_represent_tests.test_batch_represent",
|
||||
"----------------------------------------------------------------------",
|
||||
"Traceback (most recent call last):",
|
||||
" File \"/iris/python2.7/dist-packages/nose/case.py\", line 197, in runTest",
|
||||
" self.test(*self.arg)",
|
||||
" File \"/iris/openface/tests/openface_batch_represent_tests.py\", line 68, in test_batch_represent",
|
||||
" assert p.returncode == 0",
|
||||
"AssertionError:"
|
||||
]);
|
||||
}
|
||||
if (cframe == 18) { commandLine.pushLineStrings([
|
||||
"-------------------- >> begin captured stdout << ---------------------",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0012.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0004.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0006.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0012.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0006.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0005.jpg ==="
|
||||
]);
|
||||
}
|
||||
if (cframe == 25) { commandLine.pushLineStrings([
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0006.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0004.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0004.jpg ===",
|
||||
" ",
|
||||
" ",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0006.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0004.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0004.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0012.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0006.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0006.jpg ==="
|
||||
]);
|
||||
}
|
||||
if (cframe == 30) { commandLine.pushLineStrings([
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0004.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0012.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0003.jpg ===",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
"/iris/torch/install/bin/luajit: /iris/torch/install/share/lua/5.1/trepl/init.lua:389: module 'csvigo' not found:No LuaRocks module found for csvigo",
|
||||
" no field package.preload['csvigo']",
|
||||
" no file '/iris/.luarocks/share/lua/5.1/csvigo.lua'",
|
||||
" no file '/iris/.luarocks/share/lua/5.1/csvigo/init.lua'",
|
||||
" no file '/iris/torch/install/share/lua/5.1/csvigo.lua'",
|
||||
" no file '/iris/torch/install/share/lua/5.1/csvigo/init.lua'",
|
||||
" no file './csvigo.lua'",
|
||||
" no file '/iris/torch/install/share/luajit-2.1.0-beta1/csvigo.lua'",
|
||||
" no file '/iris/share/lua/5.1/csvigo.lua'",
|
||||
" no file '/iris/share/lua/5.1/csvigo/init.lua'",
|
||||
" no file '/iris/.luarocks/lib/lua/5.1/csvigo.so'",
|
||||
" no file '/iris/torch/install/lib/lua/5.1/csvigo.so'",
|
||||
" no file '/iris/torch/install/lib/csvigo.so'",
|
||||
" no file './csvigo.so'",
|
||||
" no file '/iris/lua/5.1/csvigo.so'",
|
||||
" no file '/iris/lua/5.1/loadall.so'",
|
||||
"stack traceback:",
|
||||
" [C]: in function 'error'",
|
||||
" /iris/torch/install/share/lua/5.1/trepl/init.lua:389: in function 'require'",
|
||||
" ./batch-represent/main.lua:9: in main chunk",
|
||||
" [C]: in function 'dofile'",
|
||||
" .../bin/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk",
|
||||
" [C]: at 0x004065d0",
|
||||
" ",
|
||||
" ",
|
||||
"--------------------- >> end captured stdout << ----------------------"
|
||||
]);
|
||||
}
|
||||
if (cframe == 35) { commandLine.pushLineStrings([
|
||||
" ",
|
||||
"======================================================================",
|
||||
"FAIL: tests.openface_demo_tests.test_compare_demo",
|
||||
"----------------------------------------------------------------------",
|
||||
"Traceback (most recent call last):",
|
||||
" File \"/iris/python2.7/dist-packages/nose/case.py\", line 197, in runTest",
|
||||
" self.test(*self.arg)",
|
||||
" File \"/iris/openface/tests/openface_demo_tests.py\", line 38, in test_compare_demo",
|
||||
" assert \"0.763\" in out",
|
||||
"AssertionError:",
|
||||
"-------------------- >> begin captured stdout << ---------------------",
|
||||
"Comparing /iris/openface/images/examples/lennon-1.jpg with /iris/openface/images/examples/lennon-2.jpg.",
|
||||
" + Squared l2 distance between representations: 0.782",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
"--------------------- >> end captured stdout << ----------------------"
|
||||
]);
|
||||
}
|
||||
if (cframe == 37) { commandLine.pushLineStrings([
|
||||
" ",
|
||||
"======================================================================",
|
||||
"FAIL: tests.openface_demo_tests.test_classification_demo_pretrained",
|
||||
"----------------------------------------------------------------------",
|
||||
"Traceback (most recent call last):",
|
||||
" File \"/iris/python2.7/dist-packages/nose/case.py\", line 197, in runTest",
|
||||
" self.test(*self.arg)",
|
||||
" File \"/iris/openface/tests/openface_demo_tests.py\", line 51, in test_classification_demo_pretrained",
|
||||
" assert \"Predict SteveCarell with 0.97 confidence.\" in out",
|
||||
"AssertionError:",
|
||||
"-------------------- >> begin captured stdout << ---------------------",
|
||||
" ",
|
||||
"=== /iris/openface/images/examples/carell.jpg ===",
|
||||
"Predict SteveCarell with 0.99 confidence.",
|
||||
" ",
|
||||
"/iris/python2.7/dist-packages/sklearn/lda.py:4: DeprecationWarning: lda.LDA has been moved to discriminant_analysis.LinearDiscriminantAnalysis in 0.17 and will be removed in 0.19",
|
||||
" \"in 0.17 and will be removed in 0.19\", DeprecationWarning)",
|
||||
" ",
|
||||
" ",
|
||||
"--------------------- >> end captured stdout << ----------------------"
|
||||
]);
|
||||
}
|
||||
if (cframe == 39) { commandLine.pushLineStrings([
|
||||
" ",
|
||||
"======================================================================",
|
||||
"FAIL: tests.openface_demo_tests.test_classification_demo_pretrained_multi",
|
||||
"----------------------------------------------------------------------",
|
||||
"Traceback (most recent call last):",
|
||||
" File \"/iris/python2.7/dist-packages/nose/case.py\", line 197, in runTest",
|
||||
" self.test(*self.arg)",
|
||||
" File \"/iris/openface/tests/openface_demo_tests.py\", line 64, in test_classification_demo_pretrained_multi",
|
||||
" assert \"Predict EvaLongoria @ x=91 with 0.99 confidence.\" in out",
|
||||
"AssertionError:",
|
||||
"-------------------- >> begin captured stdout << ---------------------",
|
||||
" ",
|
||||
"=== /iris/openface/images/examples/longoria-cooper.jpg ===",
|
||||
"List of faces in image from left to right",
|
||||
"Predict EvaLongoria @ x=92 with 0.99 confidence.",
|
||||
"Predict BradleyCooper @ x=192 with 0.99 confidence.",
|
||||
" ",
|
||||
"/iris/python2.7/dist-packages/sklearn/lda.py:4: DeprecationWarning: lda.LDA has been moved to discriminant_analysis.LinearDiscriminantAnalysis in 0.17 and will be removed in 0.19",
|
||||
" \"in 0.17 and will be removed in 0.19\", DeprecationWarning)",
|
||||
" ",
|
||||
" ",
|
||||
"--------------------- >> end captured stdout << ----------------------"
|
||||
]);
|
||||
}
|
||||
if (cframe == 44) { commandLine.pushLineStrings([
|
||||
"======================================================================",
|
||||
"FAIL: tests.openface_demo_tests.test_classification_demo_training",
|
||||
"----------------------------------------------------------------------",
|
||||
"Traceback (most recent call last):",
|
||||
" File \"/iris/python2.7/dist-packages/nose/case.py\", line 197, in runTest",
|
||||
" self.test(*self.arg)",
|
||||
" File \"/iris/openface/tests/openface_demo_tests.py\", line 98, in test_classification_demo_training",
|
||||
" assert p.returncode == 0",
|
||||
"AssertionError:",
|
||||
"-------------------- >> begin captured stdout << ---------------------",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0004.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0006.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0012.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0006.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0008.jpg ==="
|
||||
]);
|
||||
}
|
||||
if (cframe == 45) { commandLine.pushLineStrings([
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0006.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0012.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0004.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0004.jpg ===",
|
||||
" ",
|
||||
" ",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0004.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0012.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0002.jpg ==="
|
||||
]);
|
||||
}
|
||||
if (cframe == 46) { commandLine.pushLineStrings([
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0006.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0006.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0004.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0004.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0006.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0012.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0001.jpg ===",
|
||||
" ",
|
||||
" "
|
||||
]);
|
||||
}
|
||||
if (cframe == 47) { commandLine.pushLineStrings([
|
||||
"/iris/torch/install/bin/luajit: /iris/torch/install/share/lua/5.1/trepl/init.lua:389: module 'csvigo' not found:No LuaRocks module found for csvigo",
|
||||
" no field package.preload['csvigo']",
|
||||
" no file '/iris/.luarocks/share/lua/5.1/csvigo.lua'",
|
||||
" no file '/iris/.luarocks/share/lua/5.1/csvigo/init.lua'",
|
||||
" no file '/iris/torch/install/share/lua/5.1/csvigo.lua'",
|
||||
" no file '/iris/torch/install/share/lua/5.1/csvigo/init.lua'",
|
||||
" no file './csvigo.lua'",
|
||||
" no file '/iris/torch/install/share/luajit-2.1.0-beta1/csvigo.lua'",
|
||||
" no file '/iris/share/lua/5.1/csvigo.lua'",
|
||||
" no file '/iris/share/lua/5.1/csvigo/init.lua'",
|
||||
" no file '/iris/.luarocks/lib/lua/5.1/csvigo.so'",
|
||||
" no file '/iris/torch/install/lib/lua/5.1/csvigo.so'",
|
||||
" no file '/iris/torch/install/lib/csvigo.so'",
|
||||
" no file './csvigo.so'",
|
||||
" no file '/iris/lua/5.1/csvigo.so'",
|
||||
" no file '/iris/lua/5.1/loadall.so'",
|
||||
"stack traceback:",
|
||||
" [C]: in function 'error'",
|
||||
" /iris/torch/install/share/lua/5.1/trepl/init.lua:389: in function 'require'",
|
||||
" ./batch-represent/main.lua:9: in main chunk",
|
||||
" [C]: in function 'dofile'",
|
||||
" .../bin/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk",
|
||||
" [C]: at 0x004065d0",
|
||||
" ",
|
||||
" ",
|
||||
"--------------------- >> end captured stdout << ----------------------",
|
||||
" "
|
||||
]);
|
||||
}
|
||||
if (cframe == 50) { commandLine.pushLineStrings([
|
||||
"======================================================================",
|
||||
"FAIL: tests.openface_neural_net_training_tests.test_dnn_training",
|
||||
"----------------------------------------------------------------------",
|
||||
"Traceback (most recent call last):",
|
||||
" File \"/iris/python2.7/dist-packages/nose/case.py\", line 197, in runTest",
|
||||
" self.test(*self.arg)",
|
||||
" File \"/iris/openface/tests/openface_neural_net_training_tests.py\", line 76, in test_dnn_training",
|
||||
" assert p.returncode == 0",
|
||||
"AssertionError:",
|
||||
"-------------------- >> begin captured stdout << ---------------------",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0006.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0004.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0006.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0004.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0012.jpg ==="
|
||||
]);
|
||||
}
|
||||
if (cframe == 54) { commandLine.pushLineStrings([
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0004.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0012.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0006.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0009.jpg ===",
|
||||
" ",
|
||||
" ",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0012.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0004.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0004.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0004.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0012.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0006.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0006.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0011.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0009.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0008.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Ann_Veneman/Ann_Veneman_0003.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Adrien_Brody/Adrien_Brody_0001.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0005.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0007.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0002.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0010.jpg ===",
|
||||
"=== /iris/openface/data/lfw-subset/raw/Anna_Kournikova/Anna_Kournikova_0006.jpg ==="
|
||||
]);
|
||||
}
|
||||
if (cframe == 55) { commandLine.pushLineStrings([
|
||||
" cudnn : false",
|
||||
" testBatchSize : 800",
|
||||
" embSize : 128",
|
||||
" cache : \"/tmp/OpenFaceTrainingTest-Net-8TbarF\"",
|
||||
" cudnn_bench : false",
|
||||
" cuda : false",
|
||||
" modelDef : \"../models/openface/nn4.def.lua\"",
|
||||
" data : \"/tmp/OpenFaceTrainingTest-Img-t6cTJ7/aligned\"",
|
||||
" epochSize : 1",
|
||||
" nDonkeys : -1",
|
||||
" save : \"/tmp/OpenFaceTrainingTest-Net-8TbarF/1\"",
|
||||
" nGPU : 1",
|
||||
" device : 1",
|
||||
" epochNumber : 1",
|
||||
" manualSeed : 2",
|
||||
" testing : false",
|
||||
" alpha : 0.2",
|
||||
" nEpochs : 10",
|
||||
" peoplePerBatch : 3",
|
||||
" imagesPerPerson : 10",
|
||||
" lfwDir : \"../data/lfw/aligned\"",
|
||||
" imgDim : 96",
|
||||
" retrain : \"none\"",
|
||||
"}",
|
||||
]);
|
||||
}
|
||||
if (cframe == 70) commandLine.pushLineString("Saving everything to: /tmp/OpenFaceTrainingTest-Net-8TbarF/1");
|
||||
|
||||
|
||||
if (cframe > 80){
|
||||
commandLine.pushLineString("");
|
||||
commandLine.pushLineString("Welcome to /)(&§§?=!?°§/&$5).");
|
||||
commandLine.pushLineString("Type a command to begin with...");
|
||||
commandLine.pushLineString("Available commands are: [info] [maria] [gerkzeuk] [laserharp] [electronic art] [street] [dance] [t] [genome] [fire] [blog] [constructivism2] and [skip]");
|
||||
commandLine.pushLineString("");
|
||||
commandLine.pushLineString("");
|
||||
busy = false;
|
||||
seqIntro_b = false;
|
||||
|
||||
|
||||
//commandLine.pushLineString("");
|
||||
//pfc = frameCount;
|
||||
//busy = true;
|
||||
//seqOutside_b = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function printInfo(){
|
||||
commandLine.pushLineString("This website works similar to a command-line interface.");
|
||||
commandLine.pushLineString("Available commands are:");
|
||||
commandLine.pushLineString("");
|
||||
commandLine.pushLineString("info");
|
||||
commandLine.pushLineString("Gives the information you are reading right now");
|
||||
commandLine.pushLineString("");
|
||||
commandLine.pushLineString("gerkzeuk");
|
||||
commandLine.pushLineString("Gives information about an automatic artist called \'gerkzeuk\' in a pop-up window");
|
||||
commandLine.pushLineString("");
|
||||
commandLine.pushLineString("laserharp");
|
||||
commandLine.pushLineString("Gives information about an instrumental cage that works with lasers and ultrasonic sensors in a pop-up window");
|
||||
commandLine.pushLineString("");
|
||||
commandLine.pushLineString("skip");
|
||||
commandLine.pushLineString("Closes the command-line and brings you to a website containing further information");
|
||||
commandLine.pushLineString("");
|
||||
commandLine.pushLineString("Further commands are available to run interactive and non-interactive animations:");
|
||||
commandLine.pushLineString("street, dance, t, fire");
|
||||
commandLine.pushLineString("");
|
||||
commandLine.pushLineString("And there are more:");
|
||||
commandLine.pushLineString("electronic art, blog, genome, constructivism2");
|
||||
commandLine.pushLineString("");
|
||||
}
|
||||
|
||||
//Abusing multicultutral acceptance, shame, guilt, ethno-pluralism and constructivism to elaborate ethics of the new world order... Done
|
||||
var danceText;
|
||||
function seqDance(){
|
||||
var cframe = frameCount - pfc;
|
||||
if (cframe == 0) commandLine.pushLineString("Analyzing users rational and emotional capabilities...");
|
||||
if (cframe == 5) commandLine.changeLineString("Analyzing users rational and emotional capabilities... Done");
|
||||
if (cframe == 8) commandLine.pushLineString("Analyzing users behaviours...");
|
||||
if (cframe == 10) commandLine.pushLineString("Analyzing users behaviours... Done");
|
||||
if (cframe == 15) commandLine.changeLineString("Offering practice in paradigm shifting.");
|
||||
if (cframe == 25) commandLine.pushLineString("Stimulating users ability to see and feel in 5...");
|
||||
if (cframe == 37) commandLine.changeLineString("Stimulating users ability to see and feel in 4...");
|
||||
if (cframe == 49) commandLine.changeLineString("Stimulating users ability to see and feel in 3...");
|
||||
if (cframe == 61) commandLine.changeLineString("Stimulating users ability to see and feel in 2...");
|
||||
if (cframe == 73) commandLine.changeLineString("Stimulating users ability to see and feel in 1...");
|
||||
if (cframe == 78) commandLine.pushLineString("");
|
||||
if (cframe == 85) commandLine.pushLineString("---*---------------")
|
||||
if (cframe == 87) commandLine.changeLineString("------*------------")
|
||||
if (cframe == 89) commandLine.changeLineString("---------*---------")
|
||||
if (cframe == 71) commandLine.changeLineString("-------------*-----")
|
||||
if (cframe == 73) commandLine.changeLineString("-----------------*-")
|
||||
if(cframe == 75) npfc = frameCount;
|
||||
if(cframe > 75){
|
||||
var dframe = frameCount - npfc;
|
||||
if (dframe > 0 && dframe < danceText.length/60+1) {
|
||||
for(var i = 0; i < 60; i++) {
|
||||
commandLine.pushLineString(danceText[i+((dframe-1)*60)]);
|
||||
}
|
||||
}
|
||||
if (dframe == danceText.length/60+1){
|
||||
npfc = frameCount;
|
||||
minc++;
|
||||
if(minc > 10){
|
||||
minc = 0;
|
||||
busy = false;
|
||||
seqDance_b = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var fireText;
|
||||
function seqFire(){
|
||||
var cframe = frameCount - pfc;
|
||||
if (cframe == 0) commandLine.pushLineString("Testing users monitor...");
|
||||
if (cframe == 5) commandLine.changeLineString("Testing users monitor... Done");
|
||||
if (cframe == 8) commandLine.pushLineString("More than a million lights available.");
|
||||
if (cframe == 10) commandLine.pushLineString("Analyzing users behaviours...");
|
||||
if (cframe == 15) commandLine.changeLineString("Analyzing users behaviours... Done.");
|
||||
if (cframe == 25) commandLine.pushLineString("Stimulating users rational functions with cognitive insight in 5...");
|
||||
if (cframe == 37) commandLine.changeLineString("Stimulating users rational functions with cognitive insight in 4...");
|
||||
if (cframe == 49) commandLine.changeLineString("Stimulating users rational functions with cognitive insight in 3...");
|
||||
if (cframe == 61) commandLine.changeLineString("Stimulating users rational functions with cognitive insight in 2...");
|
||||
if (cframe == 73) commandLine.changeLineString("Stimulating users rational functions with cognitive insight in 1...");
|
||||
if (cframe == 85) commandLine.changeLineString("Stimulating users rational functions with cognitive insight.");
|
||||
if (cframe == 85) commandLine.pushLineString(" ");
|
||||
if (cframe == 87) commandLine.pushLineString(".");
|
||||
if (cframe == 100) commandLine.changeLineString("..");
|
||||
if (cframe == 113) commandLine.changeLineString("...");
|
||||
if (cframe == 120) commandLine.changeLineString("Cognitive insight not available.");
|
||||
if (cframe == 139) commandLine.pushLineString("");
|
||||
if (cframe == 143) commandLine.pushLineString("Keep watching, animation will end eventually.");
|
||||
if (cframe == 167) commandLine.pushLineString("Initializing fire... *------------------");
|
||||
if (cframe == 169) commandLine.changeLineString("Initializing fire... ---*---------------")
|
||||
if (cframe == 173) commandLine.changeLineString("Initializing fire... ------*------------")
|
||||
if (cframe == 177) commandLine.changeLineString("Initializing fire... ---------*---------")
|
||||
if (cframe == 181) commandLine.changeLineString("Initializing fire... -------------*-----")
|
||||
if (cframe == 185) commandLine.changeLineString("Initializing fire... -----------------*-")
|
||||
if (cframe == 186) npfc = frameCount;
|
||||
if (cframe > 186) {
|
||||
var dframe = frameCount - npfc;
|
||||
if (dframe > 0 && dframe < fireText.length/60+1) {
|
||||
for(var i = 0; i < 60; i++) {
|
||||
commandLine.pushLineString(fireText[i+((dframe-1)*60)]);
|
||||
}
|
||||
}
|
||||
if (dframe == fireText.length/60+1){
|
||||
npfc = frameCount;
|
||||
minc++;
|
||||
if(minc > 3){
|
||||
minc = 0;
|
||||
busy = false;
|
||||
seqFire_b = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function seqOutside(){
|
||||
var cframe = frameCount - pfc;
|
||||
if (cframe == 0) commandLine.pushLineString("Preparing user to go outside...");
|
||||
if (cframe == 10) commandLine.pushLineString("Analyzing users behaviours...");
|
||||
if (cframe == 15) commandLine.changeLineString("Analyzing users behaviours... Done.");
|
||||
if (cframe == 18) commandLine.pushLineString("Initiating direct contact to user...");
|
||||
if (cframe == 23) commandLine.changeLineString("Initiating direct contact to user... Failed.");
|
||||
if (cframe == 28) commandLine.pushLineString("Loading non-interactive instructions...");
|
||||
if (cframe == 35) commandLine.pushLineString ("---*---------------")
|
||||
if (cframe == 37) commandLine.changeLineString("------*------------")
|
||||
if (cframe == 39) commandLine.changeLineString("---------*---------")
|
||||
if (cframe == 41) commandLine.changeLineString("-------------*-----")
|
||||
if (cframe == 43) commandLine.changeLineString("-----------------*-")
|
||||
if (cframe == 45) commandLine.changeLineString("---------*---------")
|
||||
if (cframe == 47) commandLine.changeLineString("*------------------")
|
||||
if (cframe == 55){
|
||||
commandLine.changeLineString(" ")
|
||||
commandLine.changeLineString("* How to move:")
|
||||
commandLine.pushLineString(" - Press W, A, S and D to walk")
|
||||
commandLine.pushLineString(" - Drag and Drop the mouse to look around")
|
||||
commandLine.pushLineString(" - Cross the street")
|
||||
}
|
||||
if (cframe == 57) commandLine.pushLineString(" ")
|
||||
if (cframe == 110) commandLine.pushLineString("Assuming user is capable of comprehending and navigating 3D space.");
|
||||
if (cframe == 120) commandLine.pushLineString("Starting boot sequence in 5...");
|
||||
if (cframe == 132) commandLine.changeLineString("Starting boot sequence in 4...")
|
||||
if (cframe == 144) commandLine.changeLineString("Starting boot sequence in 3...")
|
||||
if (cframe == 156) commandLine.changeLineString("Starting boot sequence in 2...")
|
||||
if (cframe == 168) commandLine.changeLineString("Starting boot sequence in 1...")
|
||||
if (cframe == 180){
|
||||
busy = false;
|
||||
seqOutside_b = false;
|
||||
commandLine.pushLineString("")
|
||||
PopupCenter("http://www.victorgiers.com/street/street.html", 'street', screen.width, screen.height);
|
||||
}
|
||||
}
|
||||
function seqMaria(){
|
||||
var cframe = frameCount - pfc;
|
||||
if (cframe == 0) commandLine.pushLineString("Preparing user to meet Maria...");
|
||||
if (cframe == 10) commandLine.pushLineString("Analyzing users behaviours...");
|
||||
if (cframe == 15) commandLine.changeLineString("Analyzing users behaviours... Done.");
|
||||
if (cframe == 18) commandLine.pushLineString("Initiating direct contact to user...");
|
||||
if (cframe == 23) commandLine.changeLineString("Initiating direct contact to user... Failed.");
|
||||
if (cframe == 28) commandLine.pushLineString("Loading non-interactive instructions...");
|
||||
if (cframe == 35) commandLine.pushLineString ("---*---------------")
|
||||
if (cframe == 37) commandLine.changeLineString("------*------------")
|
||||
if (cframe == 39) commandLine.changeLineString("---------*---------")
|
||||
if (cframe == 41) commandLine.changeLineString("-------------*-----")
|
||||
if (cframe == 43) commandLine.changeLineString("-----------------*-")
|
||||
if (cframe == 45) commandLine.changeLineString("---------*---------")
|
||||
if (cframe == 47) commandLine.changeLineString("*------------------")
|
||||
if (cframe == 55){
|
||||
commandLine.changeLineString(" ")
|
||||
commandLine.changeLineString("* How to move:")
|
||||
commandLine.pushLineString(" - Press W, A, S and D to walk")
|
||||
commandLine.pushLineString(" - Click anywhere to be able to look around")
|
||||
commandLine.pushLineString(" - Allow Pop-Up to listen to a beautiful song and watch the video if you want to")
|
||||
}
|
||||
if (cframe == 57) commandLine.pushLineString(" ")
|
||||
if (cframe == 110) commandLine.pushLineString("Assuming user is capable of comprehending and navigating 3D space.");
|
||||
if (cframe == 120) commandLine.pushLineString("Starting boot sequence in 5...");
|
||||
if (cframe == 132) commandLine.changeLineString("Starting boot sequence in 4...")
|
||||
if (cframe == 144) commandLine.changeLineString("Starting boot sequence in 3...")
|
||||
if (cframe == 156) commandLine.changeLineString("Starting boot sequence in 2...")
|
||||
if (cframe == 168) commandLine.changeLineString("Starting boot sequence in 1...")
|
||||
if (cframe == 180){
|
||||
busy = false;
|
||||
seqOutside_b = false;
|
||||
commandLine.pushLineString("")
|
||||
PopupCenter("http://www.victorgiers.com/Maria/Maria.html", 'Maria', screen.width, screen.height);
|
||||
}
|
||||
}
|
||||
|
||||
function seqSkip(){
|
||||
var cframe = frameCount - pfc;
|
||||
if (cframe == 0) commandLine.pushLineString("Redirecting to some homepage...");
|
||||
if (cframe == 20){
|
||||
busy = false;
|
||||
seqOutside_b = false;
|
||||
window.location.href = "http://www.victorgiers.com/main.php";
|
||||
}
|
||||
}
|
||||
278
p5js/console.js
Normal file
278
p5js/console.js
Normal file
@@ -0,0 +1,278 @@
|
||||
var commandLine;
|
||||
function setup() {
|
||||
createCanvas(window.innerWidth,window.innerHeight);
|
||||
textFont("Courier New");
|
||||
textSize(14);
|
||||
frameRate(12);
|
||||
loadAnimationTexts();
|
||||
commandLine = new CommandLine();
|
||||
}
|
||||
|
||||
function draw() {
|
||||
background(0);
|
||||
stroke(255);
|
||||
strokeWeight(0);
|
||||
fill(255);
|
||||
push();
|
||||
translate(translateX, translateY);
|
||||
scale(scaleFactor);
|
||||
// image(fingers,0,0, gwidth, gheight); // draw the video frame to canvas
|
||||
pop();
|
||||
if(busy) runSequence();
|
||||
commandLine.show();
|
||||
}
|
||||
|
||||
function CommandLine(){
|
||||
this.userInput = "";
|
||||
this.presentedLines = Array(60).fill("");
|
||||
|
||||
this.getUserInput = function(code,c){
|
||||
if(!busy){
|
||||
if (code != 8 && code != 10 && code != 16 && code != 17 && code != 18 && code != 20) {
|
||||
this.userInput = this.userInput + c.toLowerCase();
|
||||
}
|
||||
if (code == 8 && this.userInput.length > 0) { //backspace
|
||||
this.userInput = this.userInput.substr(0, this.userInput.length-1);
|
||||
} else if (code == 13) { //enter
|
||||
this.compareUserInput(this.userInput);
|
||||
this.userInput = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
this.pushLineStrings = function(bottomLines){
|
||||
for(var i = 0; i < bottomLines.length; i ++){
|
||||
this.presentedLines.splice(0, 0, bottomLines[i]);
|
||||
}
|
||||
}
|
||||
this.pushLineString = function(bottomLine) {
|
||||
for (var i = this.presentedLines.length-1; i > 0; i--) {
|
||||
this.presentedLines[i] = this.presentedLines[i-1];
|
||||
}
|
||||
this.presentedLines[0] = bottomLine;
|
||||
}
|
||||
this.changeLineString = function(bottomLine) {
|
||||
this.presentedLines[0] = bottomLine;
|
||||
}
|
||||
this.getInputLine = function(){
|
||||
if(!busy){
|
||||
this.inputString = frameCount % 2 == 0 ? "guest@iris ~ $ " + this.userInput + "_" : "guest@iris ~ $ " + this.userInput;
|
||||
this.presentedLines[0] = this.inputString;
|
||||
}
|
||||
}
|
||||
|
||||
this.show = function(){
|
||||
console.log(this.presentedLines[0]);
|
||||
this.getInputLine();
|
||||
for (var i = 0; i < this.presentedLines.length; i++) {
|
||||
text(this.presentedLines[i], 13, window.innerHeight-150-(i*13));
|
||||
}
|
||||
}
|
||||
|
||||
this.compareUserInput = function(userin){
|
||||
userin=userin.trim()
|
||||
if(this.presentedLines[0].charAt(this.presentedLines[0].length-1) == '_'){
|
||||
this.presentedLines[0] = this.presentedLines[0].substring (0, this.presentedLines[0].length-1);
|
||||
}
|
||||
if (userin === "gerkzeuk"){
|
||||
this.pushLineString("");
|
||||
PopupCenter('gerkzeuk/', 'gerkzeuk', 1024, screen.height);
|
||||
} else if (userin === "info"){
|
||||
printInfo();
|
||||
} else if (userin === "laserharp" || userin === "laserharfe"){
|
||||
this.pushLineString("");
|
||||
PopupCenter('laser/', 'laserharfe', screen.width, screen.height);
|
||||
} else if (userin === "dance"){
|
||||
this.pushLineString("");
|
||||
pfc = frameCount;
|
||||
busy = true;
|
||||
seqDance_b = true;
|
||||
} else if (userin === "fire"){
|
||||
this.pushLineString("");
|
||||
pfc = frameCount;
|
||||
busy = true;
|
||||
seqFire_b = true;
|
||||
} else if (userin === "t"){
|
||||
window.location.href = "t/index.html"
|
||||
} else if (userin === "electronic art"){
|
||||
this.pushLineString("");
|
||||
PopupCenter("https://www.youtube.com/watch?v=3-zyXnc2Xls", "Walter Giers - Electronic Art", screen.width, screen.height);
|
||||
} else if (userin === "genome"){
|
||||
pfc = frameCount;
|
||||
busy = true;
|
||||
seqGenome_b = true;
|
||||
} else if (userin === "blog"){
|
||||
this.pushLineString("");
|
||||
PopupCenter('http://giers.wordpress.com/', 'Neugier & Ästhetik', screen.width, screen.height);
|
||||
} else if (userin === "constructivism2"){
|
||||
pfc = frameCount;
|
||||
busy = true;
|
||||
seqConstructivism_b = true;
|
||||
} else if (userin === "go outside" || userin === "outside" || userin === "go" || userin === "street"){
|
||||
this.pushLineString("");
|
||||
pfc = frameCount;
|
||||
busy = true;
|
||||
seqOutside_b = true;
|
||||
} else if (userin === "maria"){
|
||||
this.pushLineString("");
|
||||
pfc = frameCount;
|
||||
busy = true;
|
||||
seqMaria_b = true;
|
||||
} else if (userin === "skip"){
|
||||
this.pushLineString("");
|
||||
pfc = frameCount;
|
||||
busy = true;
|
||||
seqSkip_b = true;
|
||||
} else if (userin === ""){
|
||||
this.pushLineString(this.inputString);
|
||||
} else {
|
||||
this.pushLineString("Unavailale or forbidden command.");
|
||||
this.pushLineString("Available commands are: [info] [maria] [gerkzeuk] [laserharp] [electronic art] [street] [dance] [t] [genome] [fire] [blog] [constructivism2] and [skip]");
|
||||
this.pushLineString("");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function PopupCenter(url, title, w, h) {
|
||||
// Fixes dual-screen position Most browsers Firefox
|
||||
var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left;
|
||||
var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top;
|
||||
|
||||
var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
|
||||
var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;
|
||||
|
||||
var left = ((width / 2) - (w / 2)) + dualScreenLeft;
|
||||
var top = ((height / 2) - (h / 2)) + dualScreenTop;
|
||||
var newWindow = window.open(url,title,'scrollbars=yes,width=' + w + ',height=' + h + ',top=' + top + ', left=' + left + ',resizable,scrollbars,toolbar,menubar');
|
||||
|
||||
// Puts focus on the newWindow
|
||||
if (window.focus) {
|
||||
newWindow.focus();
|
||||
}
|
||||
}
|
||||
|
||||
function runSequence(){
|
||||
if(busy){
|
||||
if (seqIntro_b){
|
||||
seqIntro();
|
||||
} else if(seqDance_b){
|
||||
seqDance();
|
||||
} else if(seqFire_b){
|
||||
seqFire();
|
||||
} else if(seqOutside_b){
|
||||
seqOutside();
|
||||
} else if(seqMaria_b){
|
||||
seqMaria();
|
||||
} else if(seqSkip_b){
|
||||
seqSkip();
|
||||
} else if(seqGenome_b){
|
||||
seqGenome();
|
||||
} else if(seqConstructivism_b){
|
||||
seqConstructivism();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var gwidth = window.innerWidth;
|
||||
var gheight = window.innerHeight;
|
||||
var zoomedState = false;
|
||||
var scaleFactor = 1.0;
|
||||
var translateX = 0.0;
|
||||
var translateY = 0.0;
|
||||
|
||||
function reset() {
|
||||
scaleFactor = 1;
|
||||
translateX = 0.0;
|
||||
translateY = 0.0;
|
||||
}
|
||||
|
||||
function collisionDetection() {
|
||||
while (translateX > 0.0) translateX--;
|
||||
while (translateY*scaleFactor > 0.0) translateY--;
|
||||
while (translateX+gwidth*scaleFactor < gwidth) translateX++;
|
||||
while (translateY+gheight*scaleFactor < gheight) translateY++;
|
||||
}
|
||||
|
||||
function zoom(delta) {
|
||||
translateX -= mouseX;
|
||||
translateY -= mouseY;
|
||||
scaleFactor *= delta;
|
||||
translateX *= delta;
|
||||
translateY *= delta;
|
||||
translateX += mouseX;
|
||||
translateY += mouseY;
|
||||
collisionDetection();
|
||||
}
|
||||
|
||||
function keyPressed(){
|
||||
commandLine.getUserInput(keyCode, key);
|
||||
return false;
|
||||
}
|
||||
|
||||
function mousePressed() {
|
||||
if (mouseButton == CENTER) {
|
||||
if (!zoomedState && scaleFactor == 1.0) {
|
||||
zoom(3);
|
||||
} else {
|
||||
reset();
|
||||
}
|
||||
zoomedState = !zoomedState;
|
||||
}
|
||||
}
|
||||
|
||||
function mouseDragged() {
|
||||
if (zoomedState) {
|
||||
translateX += (mouseX - pmouseX)/3; //this /3 shit is shit, drag n drop moves too fast, why
|
||||
translateY += (mouseY - pmouseY)/3;
|
||||
collisionDetection();
|
||||
}
|
||||
}
|
||||
|
||||
function mouseWheel(event) {
|
||||
if(event.deltaY > 0){
|
||||
zoom(1.0/1.05);
|
||||
} else if(event.deltaY < 0){
|
||||
zoom(1.05);
|
||||
} else {
|
||||
zoom(1.0);
|
||||
}
|
||||
zoomedState = true;
|
||||
if (scaleFactor <= 1.0 && event.deltaY > 0){
|
||||
reset();
|
||||
}
|
||||
}
|
||||
|
||||
//on backspace down + optional callback
|
||||
function onBackspace(e, callback){
|
||||
var key;
|
||||
if(typeof e.keyIdentifier !== "undefined"){
|
||||
key = e.keyIdentifier;
|
||||
|
||||
}else if(typeof e.keyCode !== "undefined"){
|
||||
key = e.keyCode;
|
||||
}
|
||||
if (key === 'U+0008' ||
|
||||
key === 'Backspace' ||
|
||||
key === 8) {
|
||||
if(typeof callback === "function"){
|
||||
callback();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//event listener
|
||||
window.addEventListener('keydown', function (e) {
|
||||
|
||||
switch(e.target.tagName.toLowerCase()){
|
||||
case "input":
|
||||
case "textarea":
|
||||
break;
|
||||
case "body":
|
||||
onBackspace(e,function(){
|
||||
e.preventDefault();
|
||||
});
|
||||
|
||||
break;
|
||||
}
|
||||
}, true);
|
||||
2040
p5js/console_animations/dance.txt
Normal file
2040
p5js/console_animations/dance.txt
Normal file
File diff suppressed because it is too large
Load Diff
3600
p5js/console_animations/fire.txt
Normal file
3600
p5js/console_animations/fire.txt
Normal file
File diff suppressed because it is too large
Load Diff
158
p5js/index.html
Normal file
158
p5js/index.html
Normal file
@@ -0,0 +1,158 @@
|
||||
<!DOCTYPE html>
|
||||
<!--
|
||||
sssssssssssssssssssssssssssysysssssyyyyyyyyyyyyyyyyyyyhyyyyyyyyyyyyyyyyyyyyyyyssssoosoys+yo/+/+/--.....:++++oosssoosoooooooooooooo+++++++++ooo+++++oooooooo+ooo++/------://::///--o//yoooooooooo++++sssssssoo++++++osssssssooosooosoossoo++oo+++++++++oooooo+++/+++ooooooooooooooooooooo
|
||||
sssssssssssssssssssssssssyyyyyyyyyyyyyyyysyyssysyyyyyyyyyyyhyyyyyyyysoo+////+ooossssyyhs+yoossso///++////////osss+:--------.....--..................------:+oss+::::::::://::::///++:ys++++++ooooooosssssssoo++ooooosyysssssoossssssssssooooososooooooooosso+++++++ossssssssssssssssssss
|
||||
sssssssssssssssssssssssssossyyssssyyyyyyyyyyyyysyyyyyyyyyyhhhyyyyyyysssssyyyyyhhyhhhhhhs+yo+yhyyo+++++////::://::------------........................---------::---::::::///+ssyo/++/syyysssssoooo++sssssssssssssssssssssoooooooooossssssssossosssoossssssso+++++++sssssssssssssssssssss
|
||||
ssssssysssssssssssssssssooosyyssssssyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyssoooooo+++osyyyyyyhyshyoyhyso++++ooooooo+oooooooosssosssssssssssoooooooooooo+ooo+++++///++++++//////////+ooy+/ss+sssosssssssssosssssooossssyyyysssssssoosooooosssssssoooosoooooossssssso+++++++sssssssssssssssssssss
|
||||
sssssssssssssssssssssssooossyysoooosyyyyyyyyyyyyyyyyyyyyhyyyhhhyyyyso/:::::/++/+yyyyyyhhhsysyyyssooooooosssssssssssssyyyyyyyyyyyyyyysssssssyyysssssssssoosoooooooooo++///+++++os+ssssysooooo+//::-::ssssssssssssssssssssssssssssssssssssooooosoo++oossssssso+++++++sssssssssssssssssssss
|
||||
ysssssssssssssssssssssoosssyysssysssyyysyyyyyhyyyyyyyyyyyhhhyyyyyyyso/::::://+/+syyyyyssyo/ooo+++++++oosoosssssyyysssyyyyyyyyyyssssssssssossssssssssssssssssssooooooo+++///++ooooo/syyssooo+/::-----ssssssssoosssyysssssyyysssyyyysssssoooooosoooooossssssso+++++++ossssssssssssssssssss
|
||||
yyssssssssssssssssssssssssyyyyoosyyyysoosssyyyyyyyyyyyyyyyhhyyhyyyyso+::::://+/++ooos+/:oo://+ssyyyyyyyyysyysyssssssssyssssssssossoo+o++o++o+oooooooosoooooossssossssooooooo++///::oos++++++/::::---ssssssssssossyssosyyysssssyyyssoosssosssooooossooossssso+++++++ossssssssssssssssssss
|
||||
yyyyssysssssssssssssssssssyyyysoooooossosossyyyyyyyyyyyyyyhhsyyyyyyysoooooossssyysyyyyo/oo::+osoysossssssssssysssssssssssssssososo+o+o++o++o+o++oooooooooooooooooooooos+soooooo+/-:ooo+ssooo+++////+ssssssssssoossssoossssssssyssoooooososo++ooosssssoosssso++++//+ossssssssssssssssssss
|
||||
yyyyysyssssssssssssssssssssssyssoo+++ooooossyyyyyyyyyyyyyyhyyyyyyyyyysssssossossssssyyo+oo//+ossyssssyssysssssssssssssssssosoos+oooooo++o++o+oooooooooooooooooooooosooo+ooooooo//::oooosssosoossossossssssssys++ssssoossssssssysoooooo++++++ssoooosssssosssoo+++//+ossssssssssssssssssss
|
||||
yyyyyyysssssssysssssssssssssssssso+++++oooossyyyyysssyssyyyysyyyyyyyysyyyyssyssyssyyyys+oo//+osoysssssssyssssssssssssssssssssosossooosoosoososoosoooooooooooooooooossoo+ooosoos+/::oooosssosssssosssssssssssss+ossssssssssssssssooo++++++++osooo+osssssoosssso++///ossssssssssssssssssss
|
||||
yyyyyyyysyssyyssssssssssssssssssso+//++++oossyyyysssssooyyyysyyyyyyyyssssssyyyysssyyyyo+so//+ossyssssyssyssysysssssssssssssssosossosossosoososoosooooooooooooosssssssos+ooooooo//::+ooosssssssssssssssssssssss++ssssossssssssssooo++++++/+ossooooossssssssssssoo//+sssssssssssssssssssss
|
||||
yyyyyyyyysyyysssssssssssssssssssss+//+++++oosyyyyyssssooyyyssyyyyyyyysoossosysyysyyyyys+so//+ossysssssssyssysysssssssssssssssssossosossosoososoososooooooooossssssososs+oooooss++::+oossssossosooooosssssssssso+ossoossooosssssoo++++////+ossoo++osssssssssosssso++sssssssssssssssssssss
|
||||
yyyyyyyyyyyyysssssssssssssossssssss//////+oosyyyyssssso+yyysosyyyyyyysssssssysyysyyyyys+so//+ossyssssyysyssssysysssssssssssssssossossssosoososoososoosooooossssssoosossosooosss++:-oosossssssossoosossssssssss+/osso+ssoosssssoo++///////ooosoo++ossssssssssosssssosssssssssssssssssssss
|
||||
yyyyyyyyyyyyyyysssssssssssoossssssso/://///osysyyssssso/yyyo+syyyyyyyssssssyysyyyyyyyysoso//+ossyssssyssyysysyssssssssssssssssyossssssssysssssoososossosssssssssssosoosossosssso+::ooosssssssossoosossssssssss/:oss+/soooosssso++//:::::+sossoo++ossssssssssssssssssssssssssssssssssssss
|
||||
yyyyyyyyyyyyyyyyyyyysssssssossssssss+//////+oysysooooso+syy+/shyyyyyyyyssssyyssyyyyyyysoso//+oysyssysyysyyyysyyyysyyssyssyssssyossssssssyssssssssssossosssssssssssosoososoosoos++/:oossssssssossssssssssssssos/-+ss+/oo+++ososo+/:::/::+oossso+++osssssssssoosssssssssssssssssssssssssss
|
||||
yyyysyyyyysssyyyyyyysssssssoossssssso/::/::/+ssso++++oy+oys/:ohyssyyyyssyssyysyyyyyyyysoss/+osysyssysyssyssysysyysyysyyyyyssysysysssssysyssyssssssssssososssssssssooossossosoosoo/:oosssssssssssssssssssssooos:-/so++o+//++ooo+/::::::/ooossso+++osssssssssoooosssssssssssssssssssssssss
|
||||
yyyyssyyysssssyyyyyysssssoooooooo+++/:--:::/ossso+++ooyyss+::+hyssssysyssssyyyyyyyyyyysoos/+ooysyysysyssysyysyyyyyyyyyyyyysyysysssssssssyssysssssssssssssssssssssssssssossossosoo/:oosssssssssssssssssssooooos:-:oo+oo+////+oo+/:-:--:/oooosso+++ossssssssssoooossssoossysssssssssssssss
|
||||
yyyyssyyyssossyyyyyysysssoosso++/////:::::://////+++osyyyo:--+hssssssssssssyyyyyyyyyyyyoos/+oossyyyysysyyyyyyyyyyyyyyyyyyyyyyyysyssyssysyssyssssssssssssssssssssssossosossossssoo/:oosssssssssssoooosssooooooo-.-:ssso+////+++//:------:::///+++++sssssssssso+ooosssoosssyysssssssssssss
|
||||
yyyyysyyssooossyyyyyyyssso+oosssosoo:--/://++++++++++oyyy+---/hsooossssssssyyyyyyyyyyysoos++osysyysyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyssyyyssysssssssssssssyssssssssosssssssoo/:+osssssssssssoosooooooo++oo-..-ssso+//:/::::::------/////++++++osssssssssooooosssossyyyyyysssssssssss
|
||||
yyyyyyyyssoooosyyyyyysssso++oossssoo-.-----::+++///:::+os+---/ysoooosssssysyyyyyyyyyyyssos++osysyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysysyyssssssssosssssssoo//+osssssssssssossosooooo++oo-..-sss+/:::////:----...-oooosso+/:+osssssssssoooooossosyyyyyyyysyssssssss
|
||||
yyyyyyyyysoooosyyyyyyyssso/+oossssoo-......-::/::-----/+s+.-./ysooooossssssyyyyyyyyyyyysosoossyyhyyyyyyyhyyyyhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyssyssssssssoo++osyssssssssssosoosoo+++/+oo-...o++:------:/--......-ooooss+/::+oossssssssoooooosssyyyyyyyyyyyyyyyyyys
|
||||
yyyyyyyyysso++syyyyyyssss+/+oossssso-..-..---:/-------/+s+..-:ys++o+oosssssyyyyyyyyyhyyssyoossyyhyyyyyyyhyyhyyyyyyyyyhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyssysyyssssssoo+osssyssssssssssoooo++++//oo-...oo+:------::--.......ooooss+/::/oossssssssooooossssyyyyyyyyyyyyyyyyyyy
|
||||
yyyyyyyyyyssoosyyyyyssssso/++ossssss:.:+--...-:-------/+s+...:yo/++++ossyyyyyyyyyyhyhyyssyssssyyyyyyyyyyhyyhyhyyhyhhyhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysysyssssyssso+osssyssssssssooooo+++/+//+o-...ooo-------::-.--.--..ssssss+/::/oooossssssoooossssyyyyyyyyyyyyyyyyyyyy
|
||||
yyyyyyyyyyyyoosyyyysosssso//+ossssso:.-+:/-...:-....../os+...:ys/++++ooosssyyyyyyyyyyyyysyssyyhyhyyyyhyyhyyhyhyhhyhhyhyhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysysssssysso+ossyyysssssssoo++o+///+//oo-..-oso-....--:-...--::.-ssssss//:-/ooooossyyssssosssyyyyyyyyyyyyyyyyyyyyy
|
||||
yyyyyyyyyyyyyssyyyysssssso//++ssssss:.-+::/:-:/-....../ss+.../hs/++/+oossssyyyyyyhhyyhyyyysyyhhyhyyhhhhhhhhhyhhhhhhhyhhyyyyyyyyyyyyyyyyyyysyssssyyyyyyyyyyyyyyyyyyyyyyysyysyyyyyssososyyysssssosoo++o+////:/+s-...oso-....--::..::-::.-ssssso/::-/sooooosyyssssssssyyyyyyyyyyyyyyyyyyyyy
|
||||
yyyyyyyssssssyyyyyssssyyso+++osyssss:..--:::--::--..../sso-../hs///++osssssyyyyyyhhhhhyyyysyhyyyhyyhyhhhhhhhyhhhhhhhhhyyyyyyyyysssssssssssssssssssssssssyyyyyyyyyyyyyyysyysyyyyyso+o+syyssysssssoo++o+//////+s-..-ooo-.....-::::/:::-.-ssssso//::+ssoooosyyssssssssyyyyyyyyyyyyyyyyyyyyy
|
||||
yyyyyyyyoossssyyyssssyyyss++oosyssss:......---/:-...../sso---/hs+++oossssssyyyyyyhhhhhyosysyhyhyhhyhhhhhhhhhhhhhhhhhyhyyyyyssssooooooooooooooooooooooossssssyyyyyyyyyyysyyyyyyyyso+o+oyyyyysssssooooo+++/+//+s-..-ooo-.....-:::---....-ssssyo+/::+syssooosssossssssyyyyyyyyyyyyyyyyyyyyy
|
||||
yyyyyyyyoossssyyyssyyyyyysooossysyys/--::----:/:---.--+yso---/hyoooossyyyyyyyyhhyhhhhhysysyhhhhyhhhhhhhhhhhhhhhhhhhyyyyysssoooo++++++///////////++++++ooooosssssyyyyyyyyyyyyyyyyysooo+syyyysssssssooooo+o+++os-..-oso:.....-:/:----...-sssyys+//:+yyyyssosssosssoosyyyyyyyyyyyyyyyyyyyyy
|
||||
yyyyyyyysossssyyyyyyyyyyysoosssooo++/::///:--/+//:::::oyys--:+hysssssyyyyyyyyyyyyyhyyhyhyyhhdhdddhhhhhhhhhhhyhhhhyysssooo++///::::--.............---::::/++oosssssssysysyyyyyyyyhhsosssssssssssssssssooooooooy:-.-sss/------:/:-------:sssssso+//oyyyyyysssossssoosyyyyyyyyyyyyyyyyyyyyy
|
||||
yyyyyyyyyssysyyyyyyyyyyyhyyyhhhhyyyyoo++++ooooo++oo+++ooo+///+oosssyyyyhhhhhhhhhyyyhhhyhhyhhdddddhhhhhhhhhyhyhyyysssoo++/:-...........................`....-:/++ooooossosssyyyyhhhs+sssyssoosysssssssooo+++++o::-:sys+/:::::///:::/++++ooooossssssssssyyyysossssooyyyyyyyyyyyyyyyyyyyyyy
|
||||
yyyyyyyyyyyyyyyyyyyhhhhyyyyssyyyyyyy+::--::/+sssooo+oss+shyssssyyyyyhyhhhhhhhhhhssyhhhhhhhhddddhhhhhhhhhhhhyyyyssoo+/-..`......``........................`.....-:/+ooosssssssyyhhhysysyyyo++oyyyyyyyyyyyyyysooooooo++++/+osssyyhhhhhyyyyyyyyyyyyyyyyyyyyyyssssssssyyyyyyyyyyyyyyyyyyyyyy
|
||||
yyyyyyyhhhhhyyyyyyyyyyyyyyyyysyyyyyyo::::://+yss++++oso+shysooshhyhyyyyyhhhhyhhyyyhhhhddhhhddhhhhhhyyyyyyyyssso+:-....``.``````````.....................```..``.....-:+ossosoosshyysyhhyyysosyyyyyyyyyyyyyyys//+oyyo+so++/ossyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyyyyyyyyyyyyyyyyyyyyyyyyyyyy
|
||||
yyyyyyhhyyyyyyyyyyyyyyyyyysysyyyyyyyo//:///+syyyooossso+yhhysshhyyyyyyyyyyyyyhhhhhdddddhhhhdhyyhhhhhhhhhyyyyo/......```..............................```.``.......``...-+sssyyyyyyysyhhhyhhyyyyyyyyyyyyyyyyyhy+osyyo/ooo+oooosyyyyyyyyyyyyyyyyyyyyyyyyyyyyysyyyyyyyyyyyyyyyyyyyyyyyyyyyy
|
||||
yyyyyyhhhyyyyhyyyoosyyyyyyssyyyyyyyys+////++oyyyssyyyysoyhhhsshhyyhhhhhhhhhhhhhhhddhhhhhhhhhyyhhhhhhhhhyyyo:..`..........................................................-/osyyyyyysyhhhhyhhyhhyhhhhhyyyyhyyhhooyyys+ossssoosyssyyyyyyyyyyyyyyhyyyyyyyyyyyysyyyyyyyyyyyyyyyyyyyyyyyyyhhh
|
||||
hhhhhhhhhyyyyyhyyysssyyyyssssyyyyyyyyo++++ossyhyssyyyhhyhhhhyshhhhhhhhhhhhhhhhhhhddhhdhhhhhdhhhhhhhhhhyys:..................................................................:osyyysoyhyyyyyyyyyyyyyyhyyyyhhhhhooyyyssyyyyosyyyyyyyyyyyyyyyhyhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyhhhhhh
|
||||
hhhhhhhhhhyyyhhyyyyssssyyysyyyyyyyyyyoooooossyhyyyyyhhhhhhhysyhhhhhhhhhhhhhhhhhhhhhhhdhhhhhdhhhhdhhhhyo:..`...................................................................-+yysoyyyyyyhyyyyyyyyyyyyyyyhyhhooyyyyyhyyysyyyyyyyyyyyyyyyhhhhhhhyyyhhhhhhhyyysyyyyyyyyyyyyyyyyyyyhhhhhhh
|
||||
hhhhhhhhhhhyhhhyyyyyysssyysyyyyyyyhyyooooossshhysyyyhhhhhhhhyyhhhhhhhhhhhhhhhhhhhhdhhddddhhhhhhhhhhys:..........................................................................:osoyyyyyyhhyyyyhhyyhyyyyhhhyhsoyyyyyhhysyyyyyyyyo+//++oyyhhhhhhyyhhhhhhhhhyyysyyyyyyyyyyyyyyhhhhhhhhhhh
|
||||
hhhhhhhhhhhhhyhyyyyyyyyyyyyyyyhhyhyyyooossssshhysssyyyhhhhhyyhdhhhhhhhhhhhhhhhhhhhdhhddhhhhhhhhhhhy:...........................................................................`../+yyhyhhhhyyyyhhhyhyyhhhhhyhsoyhyyyhhyyhyyyyyy+/:/++++oyhhhhhhhhhhhhhhhhhyyyssyyyyhhhhhhhhhhhhhhhhhhhh
|
||||
hhhhhhhhhhhhhyhhhyyyhyyysyhyyyhhhhhyhyssssssshhyysyyyyhhhhhhyyhhhhhhhhhhhhhhdhhhhdddddhdhhhhhhhhhs-.............................................................................`..:syhhhhhyyyyyhhhhhhhhhhhhyhsoyhyyyhhyyhyyyhhs+//++///++yhhhhhyhhhhhhhhhhyyyyssyyyhhhhhhhhhhhhhhhhhhhh
|
||||
hhhhhhhhhhhhyhhhhhhhhhhyyyhhhhhhhhhhhyysssssyhhhyyyyyhhyhhdhyhhhhhhhhhhhhhhhhhhhhddhhdddhhhdhhhh+..`................................................................................-ohyhhhhyhhhhhhhhhhhhhhhyhsoyhhyyhhyyhyyyyhso+/+///+++oyhhhhhhhhhhhhhhhhyyyyyyyhhhhhhhhhhhhhhhhhhhhh
|
||||
hhhhhhhhhhhhhhhhhhhhhhhhyyhyyyyyyyyyyyyyyyyyyhhhhhyhhhhhhhdhyydhhdhhhhhhhhhhhhddhddhddddhhhhhhho...........................----......................................................-yyyyyhhhhhhhhhhhhhhhhhhhsoyhyyyhhyyhhhhhhyso++///++ooshhhhhhhhhhhhhhhhyyyyyyyhhhhhhhhhhhhhhhhhhhhh
|
||||
hhhhhhhhhhhhhhhhhhhhhhhhhyhhhhhhhhhhhyyyhhhhhhhhhhhhhhhhhhdhyyddhddddhhhhhhhhhddhddhddhhdhyhhhs...................--------------....................................................../yyhyhhhhyhhhhhhhhhhhhhhsoyhyyyhhhyhhhhhhhyso+//+++++osooo++++++syhhhhhyyhhyyyhhhhhhhhhhhhhhhhhhhh
|
||||
hhhhhhhhhhhhhhhhhhhhhhhhhyhhhhhhhhhhhssssssyhhhhhhhhhdhhddhhyhdddddddddddhdddhddhddhddhhdhyhhs-...............---------------..........................................................+yhhhhhhyhhhhhhhhhhhhhhyoyhhhhhhhhhhhhhhyoo+//////////:::::::::/+shhhhhhhhhyhhhhhhhhhhhhhhhhhhhhh
|
||||
hhhhhhdhhhhhhhhhhhhhhhhhhyhhhhhhhhhhyssssssyyhhhhhhhhhhhddhyyhddddddddddhhdddhddhddddddddhyyy:.............------------------..................................-----...................-shhhhhhhhhhhhhhhhhhhhhyosyhhhhhhhhhhhhhso++///////::::::::::::///yhhhhhyyhyhhhhhhhhhhhhhhhhhhhhh
|
||||
hhhhhhdddhhhhhhhhhhhhhhhhhhhhhhhhhhhssssssyyhhhhhhhhhhddddyyyhdddddddddddddddhddddddddddhysy/...........--------------------.................................-------------..............:yhhhhhhhhhhhhhhhhhhhhsooshhhhhhhhhhhhyo+++//////////::::::::////ohhhhhhhhyhyhhhhhhhhhhhhhhhhhhh
|
||||
hhhdhhdddhhhhhhhhhhhhhhhhhhhhhhhhhhysssssyyhhdhhhhhhhhddddhyyhddddddddddddddddddddddddddhyso.........-----------------------.................................--------------.....---.---.-shhhhhhhhhhhhhhhhhhhhyooshhhhhhhhhddhso++////+/////////:::://///ohhhyyyhhhhyhhhhhhhhhhhhhhhhhhh
|
||||
ddddhdddddhhhhhhhhhhhhhhhhhhhhhhhhhysssssyyhhhhhhhhhhhddddhyyhdddddddddddddddddddddddddddys+....----------------------------..................................---------------------------/hhhhhhhhhhhhhhhhhhhhysssddhhhhhhhddyo+++//+++++++++////::://///ohhhyhhhhhhhhhhhhhhhhhhhhhhhhhh
|
||||
ddddddddddddhhhhhhhhhhhhhhhhhhhhhyysssyyyyyhhhhhhhhhhhddddhyyhdddddddddddddddddddddddddddhs/..------------------------------....................................------------...-----------yhhhhhhhhhhhhhhhhhhhysssdddhhhhhhhhs+++//+ooooooo++++++/:://///shhhhyhhhhhhhhhhhhhhhhhhhhhhhhh
|
||||
ddddddhhddddddhhhhhhhhdhhhhhddhhysssssyyyyhhhhhhhhhhhhdhddhhhhdddddddddddddddddddddddddddho-----------------------------------..................................-----------......---------ohhhhhhhhhhhhhhhddhhyssyddhhhhhhhhho+++//+sssyssssssooo+//////+hhhyyhhhhhhhhhdhhhhhhhhhhhhhhhh
|
||||
ddddddddhhhdddhhhhhhhdddhhhdddhyyyyyyyyyyyhhhddhhhhhhhhhddhhhhdddddddddddddddddddddddddddy+-----------------------------------..................................-------------......-------+hhhhhhhhhhhhhhhddhhyssydhhhhhhhhdhoo+++/+ssyyyyyyyyyyyyso++ooyhyyhhhhhyyhhhdddddddddddddhhhhh
|
||||
ddddddddddhhddddhhhhhhdddhhddhhhhyyhhhhhhhhhhddhdddddddhddhhhddddddddddddddddddddddddddddy/-----------------------------------...................................-------------...---------/yhhhhhhhhhhhdddddhdhyyyhhhhdhhdddhsoo++/+ssyyhhhhhhhhhhhhhhyyyyyyhhhyhhhddddddddddddddddddddd
|
||||
dddddddddhhdddhhddhhhhhhhhhdhhhhhhhddddhhhhhhddhddddddddddhhhdddddddddddddddddddddddddddhy:---------------------------------.......................................--............----------yhhhhhhhhhdhdddddddhhyhhhhhhhhdddhsooo+/osyyyyhhyyyyhhhhhyyyyyhyyyhhhhhhhdddddddddddddddddddd
|
||||
ddddddddhhhhddddhhhddhhhhhyhyhhyyyyhdddhhhhhhddhdddddhddddhhhdhddddddddddddddddddddddddhhs:-----------------------------.-........................................................---------ohhhhhhhdhdddddddhhhyyhhdhhhhhhddhssoo++osyhhhhhhhhsyyyyyyyhhhyyhhhhhhhhddddddddddddddddddddd
|
||||
dddddddddhhhhhdddddhhhhhhhhhhyhhyyyhddddhhhhhddhddddddhhdddddddhhdddddddddddddddddddddddhs----::---------..........----............................................................--------/hhhhhhhdddddddhhhhhhhhhhhhhhdhdddyysssosyyhhhyyhhhyyyssyyhyyhhddhhhhhhhddddddddddddddddddddd
|
||||
ddddddddhhhhhdddddddddhhhhhhyyhhhyhhddddhhhhhhhyhddddddhhdhhhddddhddddddddddddddddddddddh+----::-------...........---................................................--.............-------:yhhhhhdddddddhyhhhhhhhhhhhddhhdddhhhhoyhhhdhhhhhhhyyyyyyyhhdddddhhhhhhhddddddddddddddddddddd
|
||||
ddddddddhhhhddddddddddddddddhdhhhhhddddhhhyyyyssyhdddddhhhhdhddddhhhdddddddddddddddddddhh+----::-----............-----------..................................------------..........-------:yhddddddddhhyyyhddhhddhhhhddddhhhhyyyoyhhhdhhhhhhhhhhhhhdddddddhhhhhhhhddddddddddddddddddddd
|
||||
ddddddddhhhhdhdddddddddddhhdyhhyyhhhhddddhhhhhhhhhddddhhddddddddhhhhhhhddddddddddddddddhh+----::-----.........--------------------.....................------------::::::-------.....------/hdddddddhhyyyyhhhdhhhddddhdddhhhhhhhhhdddhdhhhhhhhyhyyhhddddddddhhhhhhhddddddddddddddddddddd
|
||||
ddddddddhhhhhdddddddddddhhhhyhhhhyyhhdddddhhhhhhhhddddddhhhdddddhhyyyhhhhhhdddddddddhdhhyo::-::-----.....-----::::::///:::::::::------................---::::////+////////////::--....-----/hhhhhhhyyyyssssyhddhhhhhdddddhhhhhhdddddddhhhyyhhyossyyhhhhdddddhhhhhhhddddddddddddddddddddd
|
||||
ddddddddhhhhhddddddddddhhhhhyhhyyyyyhdddddddddddhhdddddhhhdddddhhyyyyyhhhhhddddddddddddyss---::----...---:::://////+++oooooo+++///::---............----://+++oosooooooooo+++///::::-..-----/hhhhhhyyyyssssshhdddhhhhhddddhhddddddddddddhhhhyyhsyyyyyhhhhddddhhhhhhhddddddddddddddddddddd
|
||||
ddddddddhhhdddddddddddddddhhyyhhhhhhddddddddddddhhddddddhhdddhhyyyyyyyyyyhhhhhhhhddddddyss::-::----..-:::://++++oooosssssyyyyysoo+//:---..........---:/+ooossyyyyyysso+//:::---------------/yyyyyyyyssssssssyhhddhhhhhhhdhhddddhhhhddddhhddhhhhhhhhhhhhddhhhhhhhhhdddddddddddddddddddddd
|
||||
ddddddddddddddddddddddddddhssyhdddddddddddddddddhdddmdhhhddmhyhhyhhhhhhhhhdddhhdddddddddhs:::::------------:::::://++osyyyyyhhyyyso+/:--..........--::/oossyyyyysssoo++///::::-------------/hhhhhhhhhyyyyyyyyyyhddhhhddddddddddhhhhhddddddddddhhdhdddhhhhdhhhhhhhhdddddddddddddddddddddd
|
||||
dddddddddddddddddddddddddhsooohdddddddddddddddddhdddddhhhdddhdddhdddddddddddddddddddddddds::::-----:--:::::::://++oooosssssyyyyhyyso+/:--.........--:/+ossyhhhhhhyyysooooo++////:::::------+dddddddddddddddddddhdddhhdddddddddddddhhdddddddddhhhhhdddddhhdhddhhhdddddddddddddddddddddddd
|
||||
mmmmdddddddddmdmdddddddddho+/+ydddddddddddddddddhdddddhyyhddddddddddddddddddddmdddmddddddy::::-----:::///++++oooo++///+oosyyyysyyhys+/:--.........--:/+sssssyyso+///:////+++oosoo+//::-----+ddddddddddddddddddddddhhhdddddddddhdhddhdddddddddhhhhhddddddddhhdddddddddddddddddddddddddddd
|
||||
mmmmmmmdddmmmddddddddddddh+::/sdddddddddddddddddddddmdhyyhdddhdddddddddddddddddddmmddddddy::::----:://+osssoo+++//::::::::/++oso+oyyo/:--.........--:/+o++o++//:::::://////+++ossso+/:-----/ddddddddddddddddddddddhhdddddddddddddddddddddddddhhhhhdddddddddhhdddddddddddddddddddddddmmmm
|
||||
mmmmmdddmmmmdddddddddddddh/:::oddddddhhhhhyhhhhdddhdddsosydddhddhddddddddddddmdddddddddddy::::----:/+osyyysooo++/+///////:::---://:/+/:--....``...---:/:::---::////+++oosssssyssyyyo+:-----/hdddddddddddddddddddddhhhddddhdddddddddddddddddddhhhhhdddddddddddddddddddddddddddddmmmmddmmm
|
||||
mmmmddmmmmdddddddddddddddh/---odddddhhhhhhhhddhhhhhddds+osdddhddhddddddddddddddddddddddddy::::----::/+oyhdhyhhyyyyyyysssso++//:---::::--............---:-:://++++osyyhdhdddhdhhys+/:::------/+shdddddddddddddddddhhhhdmddhhhhhhhdddddddddddddhhhhhddddddddddddddddddddddmmdddmmmmmmmmmmm
|
||||
mmmmddmmmddhhhdddmddmmmddh/---odddddhhhhhhhdhhhhhhddddo/+sddhyhdhdddddddddddddddddddddhs++-::------:::://+yhhdhdhhhhdhhyso++/::----.............`.......----::://++ossysooyyyso//:---------....:yddddddddddddddddhhhddmdddhhhhhhhddddddddddddhhhhddddddddddddddddddddddddmmmmmmmmmmmmmmm
|
||||
mmmmdhmmddhhhhdddmmdmddddh/-..+dddddddhhhdhhddddddddmdso+sdmhyhdhddddddddddddmmdddddds-....-----------::::/+ooosoo+o++//::---...................`..............--:://///+///+/::--------.--...-::sdddddddddddddddddddmmdddddddhhhhdddddddddddhhhdhddddddddddddddddddddmmmmmmmmmmmmmmmmmm
|
||||
mmmmdhdmdhhhhhdmmmmmmddddh:.../hdddddddddddddddddddddhsoohdmdyhdhddddddddddddddddddds:/-....--------------:::::/:/::::----.......................................--------:-------------..----::-:+hdddddddmddddddddddddddddddddddddddddddddddhhhdhddddddddddddhhddddddmmmmmmmmmmmmmmmmmm
|
||||
mmmmmdmmdhhyyhddmmmdmddddh:.../ydddddddddhddhhhdddmmmh+++sddysydhddddddddddddddddddd+:-::------------------------------...............................................-----------------...-::+/-.:ydddddddddddddddddmmmmdddddhhhhhhdddddddddddhhdhdddddmdddddhdddddddmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmdmmdhhyyyddmmmmmddddh:.../yhhdddddddhyyhhhhhddddy/::oddy+sdhddddddddddddddddddy:..:++:::---------------------..........`..............................................---------------:////:-:hddddddddddddddhdddmmddddhhhhyyyhdddddddmddddddhddmdmmdmdddddddddddmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmmmdhhhhdmmmmmmdddos:.../yhhdddddddhyyyhhhhhhddy---+dds/odyhhddddddddddddddddy:--///+/::------------------...............``...................`........................--------------/s+::/oddddddddmddddddhhdddmdddhhhhhyyyhdddddddmmdhhhhdddmmmmmmddddddddddmmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmmmddhhddmmmmmmddo-s-...:yyhhdddddhssyyhhhhhhddy-../hdo-ohyhhddddddddddddddddds+:::+o+::-----------------..............................................................--------------:/so//yddddddddmddddddhhddmmdddhhhhhhhhdddddddmmmddhhhddddmmmmmmdddddddddmmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmddmdhhddmmmmmdd+--s:+o--:-+syyyyyyys+hhhhhhhhds-../hdo-ohyhhdddddddddddddddddh+/+s+:::::------------------...............................``........................----------------://+o/:hddddddddmddddddhhddmmdddhhhhhddddddddddddmddhhhhdddmmmmmmddddddddmmmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmmddmddddmmmmmd+:-:o:sy//:...+sssyyys/yhhhhhhhds-../hdo:ohhddddddddddddddddddddo/+o+/+::/:-------------------.....................................................------------------:++//::yddddddddmddddddhdddmmddhhhhhhddddddddddddmdddhhhddddmmmmmddddddddmmmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmdhddmddmmmmmdo::::s:ss::+-:/osssssss/yhhhhhhhdy:.-+dds+odhdddddddddddddddddddh/:://+o////::--------------------------...........`....................------------------------------:::-:::yddddddddddddddddhddmmddhhhhhhddddddddddddmddddhddddddmmmmddddddddmmmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmdhhhdmddmmmdo///+yh:-:-:ssyyyyyyyyys+yhhhhhhddy:--+ddyosdhdddddddddddddddddddd+::--:////+/::-------------------------------.......--......----.....---------------------------------...-:+ddddddddddmdddddhhhdmmdddhhhhhddddddddddmmmdddhhdmdddddmmmddddddddmmmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmmhhhhdmddmdy++oyhdh:...:shhhhhhhhhddoyhhhhhhddy:::+hdyoshhhdddddddddddddddddddy/:-...-//++/::::-----------------------------...--://:-----:/+/:------------------------------------:..-:/hdddddddddddddddhhhhddmdddhhhhhdddddddmmmmmmddhhhdmmmddddmmdddddhdmmmmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmmhyhhhdmddhssyddddh:...:shhdddddhhhhsyhhhhhhddh/::+hdhssdddddhhhhhdhhhdhdddddhhs::-..-:/+o+/:::::::-------------------------::/oyyyyysoo+osyyhyo/::--------------------------------:-.-:yddddddddddddddddhyhdddmdddhhhyhdddddddmmmmmmddhhddmmmmmdddmdddddhdmmmmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmmdhhdhdmmhhhdmddddh:...:shdddddhhhhhsyhyhhhhddh/:/ohdhyydhdddhhhhhhhhhhhhdddhhyy+:-..-::/o++//:::::::-----------------------/syhyssssddhhhsosyhhs+:---------------------::::-------:---+hhdddddddddddddddhydddmmddhhhyyydddddddmmmmmmdddhddmmmmmmmmmdmdddddmmmmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmmmdddhhdmdmmmmmdddh:...:sdddddddhhhdsyyyhhhhhdd+//ohddhddhdddhhhhhhhhhhhhhhhhhhhy+----://++++//:::::::::--------------------:/ooo+//+yyhys+///++/::-------------------::::::::----::::/yhhhhhhdddddddddmdhyhddmmddhhhyyyhdddddmmmmmmmddhhddmmmmmmmmmdddmddmmmmmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmmmmmmdddmddddhhhyyh/---/ydddmmddddddsyyhyhhhdddo++shdddddhhhdyhhyhhhyhhhhdhdhysyyo/::::///+++/////::::::::-----------------------::::://::::-----------------------::::::::::::---/++oydddddddddddddddmmdhyhddmmddhhyyyyddddddmmmmmmmdddddddddddddmmddmmmmmmmmmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmmmdddhhdmdmmmmddhhh+:::+dhhdhhhhhhhhoyhhyyhhdmdssosyhddmdhhddyhhhhhhyhhhhdhdhyyyyyys+++o+//+++//////:::::::::------------..........------..-.......--------------:::::::::::::---:shddddddddddddddddddmmdyshddmmddhhyyhhdmmmdddmmmmmmmdddmdmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmmdhhhhhdmdmmmmmmdddo/::odhhhhyyyyyys+syyyyhhdddyyyyyhddddhhddhhhhhhhyhhhhhddhyyhyyyyhmdys///++///////::::::::::----------...........................-----------:::::::::::::::---/mmddddddddddddddddddmmdyshddddddhyyyyyhdddddddddmmmmdddddmmmmmmmmmmdddmmmmmmmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmmhsshhhmmmhhdmmddddo///sdhhhyyyyyyys+syyyyyhddmhyyhyhddddhhdhyhhhhhhyhhhhdhdhysyysyysydmds////////////:::::::::-----------.........................------------::::::::::::::---:shhhdddddddddddddddmdmmdyshddmdddyyyysshdddmddddmmmmmdddddmmmmmdddmmmddmdmmmmmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmms+shhmmmmdyyhdmddds+ooyhhhhhyyyyyysoyyyyyyhhdmdhhhyyhdddhhddhhhyhhhyhhyhhhdhhyyysssssysys+///////////:::::::::-------------....-----......-------------------::::::::::::::----/hhhhhhdhdddddddddddddddhyshhdmdhdyyssssydddmmmmmmmmmddddddmmmddhdmmmmmdmmmmmmmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmdsoyhdmmmmmhyyyhddmyossyydddddhdhhysyyyyyyyhhdmmhhhyyhdddhhddyhhyhhyyhhhhhhdhhyyysssosyosos+/////////::::::::::--------------:://////:---::///////::--------:::::::::::::::----:ohhhhhhhhhhhdhddddddddddhsohhdmdhdyyssssssydmmmmmmmmmddhhhdmmddhdmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
|
||||
mmmmmmmmhhhmmmhmmmmhyyyhddysyyyydhddddhddyssyyyyyyhhdmmhhhyyhdddhdddyhhyhhhyhhyhhhdyysyysssossoso+o////////:::::::::::::::::::::://++oooooo+++///++++oooooo+++///:::::::::::::::::----+hhhhhdhddddddhhddddddhddhsohhdmdddhyssssoooymmmmmmmmmddhhhddddhdmmmmmmmmmmmmmmmmmmmmmNNNNNNNNNNmm
|
||||
Nmmmmmmmddmmdyymmmmmhyyyhdhyyyyydhddhhhhdyssssyyyyhhdmmddhsyhdddhhhhyhhyhhhyyhhhhhhhysyysssosysso+/+//////:::::::::::::::://+osssoooo+////++ooo++++/////++oossoo+//:::::::::::::::---/yhhhhddhhdddddhdddhdddhdddsohdmmdddyyssssoooydmmmmmmmmdhhhhdddddmmmmmmmmmmmmmmmmmmmmNNNNNNNNNNmmmm
|
||||
NNNNNNmddmmmysymmmmmmdhhhdhyyyhshhdddhdddysssyyyyyhdmmmmdhyhhhhhhdddhhhhhhyyyhhhhhhyysyysssossoso+//++////::::::::::--:::://+///:--........................---::::::::::::::::::::::/shhhhhhhhhhddhdhhddddddhddhhshdmmdddhyyssssooydmmmmmmmmdhhhhddddmmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNNmmm
|
||||
NNNNNmmmmmmhhyhmmmmmmmdhhdhyyyhshhdddddddhyyyyhyhyhhhhhhddhhhhhhhhddyhhyhhyyhhhhhhhyysyssssossoso+://o++////::::::-----:::::::::::::-------...-....-----:::::::::::::::--::::::::::/syhhhhhhhhhdddhhyhhdddddhddhhhhddhhyyyyyyyysssydmmmmmmmmdhhhhdddmmmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNmmmm
|
||||
NNNNNmmmmmhhyshmmmmmmmmdhhhhhhhhhhhhhddddhyyyyyyyhhhhdddmhhhhhhhhdddyhhyhhyyhhyhhhhyysyssssossoso+++++so++///::::::--------::::::////////:::--:---::://////:::::::::::----::::::::/syyyhhhhhhhhhdhhdhhhdddddhddhyyhddddyyyyssssssshmmmmmmmmmdhhhdddmmmNNNNNmdmmmmmmmmNNNNNNNNNNNNNNNmmmm
|
||||
NNNNNmmNmdyhhyhmmmmmmmmmdddhhhdhhhyyyyyyhyssssssyyyydmdddhsyyhhhhhhhyyyyyyyyyyyhhhhyyssssssossoso+++o//syo++///::::----------:::://///+++++++++++++++////::::::::-::::::::::::://+yyyyyhhhhhhhhhdhhdyhhddhddhddhsoyddddhysssooo++oymmmmmmmmmdhhhddmmmmNNNNNmmmmmmmmmmNNNNNNNNNNNNNNmmmmm
|
||||
NNNNmddmmdyyhhdmmmmmmmmddddhhhdhhhyyyyyhhsooooossssyhddddyosyyhhhhddyhhhyyyyhhyhhhhyysssossossossoooo//+yhyo++//::::-----------::::::://////++///////::::::::::----:::::::::///+oyhyyyyyhhhhhhhhhhhhyhhddddhhddhs+yhdddysooooo++++smmmmmmmmmddhhhdmNmNNNNNNmmmmmmmmmmNNNNNNNNNNNNNNNmmmm
|
||||
NNNNmdmmmhhyyyhmmmmmmmmmddddhhddhhhhhhhyhsooooossssyhdddhyosyyhdhdddyyhyyyyyyhhhhhhhysssossossossooo+//+oyhdyso+//::::-:-------------::----------------------------::::::://+oo/syyyyyyyhhhhhhhhdhddhhdddddhdddys+yhhddyssooo+++++smmmmmmmmmdhhdddmNNNNNNNNmmmmmmmmmmmNNNNNNNNNNNNNNNNNN
|
||||
NNNNmdmmmdhhyyhmmmmmmmmmdhdhyyhddddddddhhsooosossyyyddddhyoydhhdhhddyyyyyyhyyhhhhhhhysysssssssosoooo++/+ssoyhdhyo+//::::-------------------------------------------::::://+sys//syyyyyyyhyyyhhhhhhddhdddddddddhds+yhhddhyysoooo+++smmmmmmmmmdyyhhdmNNNNNNNNmmmmmmmmmmmNNNNNNNNNNNNNNNNNN
|
||||
NNNNmdmNmddhhyhmNNmmmmmmdhhhyyhyddddmddddysyyyyyyhhddmmddyoyddhdhhhhs+ooooooshhhddddso+++ooooo++ooooos:oyyo+oyddhys+//:::----------------.............------------:::://oshy+::shhhhhhdddmdmdmmdddddhddddhhyyyhds+yhddddhhhyyyyyyyhmmmmmmmmmdyhyhdmNNNNNNNNmmmmmmmmmmmNNNNNNNNNNNNNNNNNN
|
||||
NNNNmmmNNmddhhdmNNNmmmmmdhhyyyhdddmdmddddddhhhhhhhdddddmdsoydhyssssssssyysossssyyyyyo+oo+++oo+++oooos/:syhs+/+sydddhs+//::-----------...................---------::://+shho/:::syyysssssoo+ooo++oosyyyo++++++oyhs+ohdhhyhyysssyyhdhmmmmmmmmmhyyyydmNNNNNNNNmmmmmmmNmmmNNNNNNNNNNNNNNNNNN
|
||||
NNNNmmdmmNNmdddmNNNNmmmmmdyyyyyyddmdmdddhhdhyyyyyyhhhhhhso+ydhysssssssossso+//////::////://++:://////-//::/o///+oydmdhs+/:::---------...................--------:://oydho/::::--/:::-::::::::::::/ooo++ooooooshds+++oyyysssoooosyyymmmmmmmmmhyysydNNNNNNNNNmmmmNNmdmmNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNmhhmNNmmdmmNNmmmmmmdysssysddmdmmdddysyhssssyyyyo+//++yhyyyyyys+//oyysso++/////////:/:++:::::::--::---o+/////oydmmdyo+/::----------.............---------:://oydho/::::::-:/:-:-:::://///+osyyyo/::/oyhhhdhs+////+oysoooooysoymmmmmmmmmhssoshNNmmNNNNmmmmmmmdmmNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNmdhhmNmmmdmmmmdhdmhsssosddmmmmmddhyssyysssyyo+/////+o+osyys+:::+sddhhhhyyyyyhyys////oysoooos/--//:::+o///////+shmmmhs+//:::-------------------------:::/+ohdho/::::::::osy+:/::yyhhhhhhhhhhddy+/:::/shhdhy+///:::/ssoooysssymmmmmNmmmyssoshNmmNNNmmmmmmmdmmmNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNmdddhdmmmmmdmmmdmmhsoooomdmmdddddhyyhhyyyhyo//////+s++ooo+/////shdddhhhhhyyyyhhh/ss+hhyyyyyh/--+yhdddo////////+oshdNNmhyo+//:::::-----------::::::://+oyhhs+//::::::::+ssyy/so/hhyyhhhhhddddddys+//::+ydhhho///:::+yyssyhyyhmmmmmmmmmyssoshNNNNmmmmmmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNmdddddhhmmmmmdmmmmhso++ommmmdddddddhhyyyysyo///++oydo++++++ossyyhhyhyyyyyyyyyyyyoyyyhyhyyhhh/-/syhddds/:::://///+osydNNNNmhyso++/////:/:////////++osyhhys+///:::::::-:+osssossooooooooooosssooo++++/:/sdhhdhso+/::oyhhhdddmmmmmmmmmmmysooodNNmmmmmmmmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNmdddddddhhmmmmmmmmho+++smmmmdddddddddmhhdhyoosyhhdhssyyy+:--:::+sssyyyssyhyhhsoo+o++++++++++++o++++/++//::://////++oosyhdmNNNmmdhyyysssssssssyyhdddhsoo++///:::::::--:oyyhhhhhhdddddddmmmmmmmdho/::--:+sooosyyysooshddddddmmmmmmmmmNmhsooohmmmmmmmdmmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNdddhdmddmdhdmmmmdmho+++sddmddhhyhdddddhhdhhyysyyyyysoooo+/osyyyhhhhhhhyhdmdNNyyysyysyysyyyyhhhhyyhyyyh+/:::::://///+++oooosyhddddmmmmmmmmmddddhysso++++////:::::::---/dmmmmmmmmNNNNNNNNNNNNNNmmmmmddssssssyhhhhyyhhhddddmdmmdoooossyhhysosdmmmmmmdmNmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNddhhdddmNNmdddmdmmdhysyyo//://+++dmmmmmdddhhhyhhhhhy+////ymmmhhdddddhhdmmmmNNhyyyyyyyyyyyyyyyyyyyyyssso/:::::::://////++++++++oooooo++++++++++++++++/////:::::::::---/dmmmmNNmmNNNNNNNNNNNNNNmNNNNNNhdhhyyyhyyhyhhdmmmmmmmmmh/+//:::-/oodddmmmmmmNNNmmmmdmmmNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNmddhhhhdmNNNmddmmdddd+/:-++//+o++dmmmmmsymdmddddhhhy+///:smmmdddddddddmmmNmNNhyhyyyyyyyyyyyyyyyyyyyyyyo::::::::::////////++++///////////////////////////:::::::::----/dmmmNNNmmNNNNNNNNNNNNNNmNNNNNNhdhhyyyhdmmmNNNNmmmmmmmmy/+/:::o:-:+ddddmdmNNNNNmmdddmmmNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNmddhhhhdNNNNNNmdddddd+:-/o---:+++dmmmmmsymmmmdddddhh++//:smmmdddddddddmmmmmNNhhhhhhhyyhhyyyyyyyyyhyyyyo:::::::::::://///////////////:::::::////////////:::::::::-----:dmmmNNNmNNNNNNNNNNNNNNNmNNNNNNhdhhysyhmNNNNNNNNmNmmmmmy:/:-..:---/ddddmNNNNNNNmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNmdhhdhhdNNNNNNNmmdddd/-------///+dmmmmmsymmdddddddhho+//:smmmdhdddddddmmmNNNNhhhhhhhhhhhhhyyhhhyhhhhhhs::::::::::::::////////////::::::::::::////////::::::::::------:hmmNNNNmmNNNNNNNNNNNNNNNNNNNNNyhyysyyhmNNNNNNNNNmmmmmmy://:--...-/sshmNNNNNNNNmmmddddmNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNmdhhhhhdNNNNNNNmNNyo++:...--:+/:+dmmmmmoymddddddddhho++/:ymNmdhdddddmmmmNNNNNdddddhhdddhhhhyhhhhhhhhhhy/:::::::::::::::///////////:::::::::::////////::::::::::------:hmNNNNNmNNNNNNNNNNNNNNNNNNNNNNyhyysyydNNNNNNNNNNmmmmmmy-:/--....-///ymNNNNNNNNmmmdddmmNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNmdhhhhddNNNNNNNNNNy+/+-.....-//:+dmmmmmsymdhdmmmddhhso+//ymNmdhmmdddddmmmNNNNdddddddddddhhhhhhdhdddhdhy:::::::::::::::::///////////::::::::::///////:::::::::::------:hmNNNNNmNNNNNNNNNNNNNNNNNNNNNNyhyyyyydNNNNNNNmmmddddddy-::----.../:/smNNNNNNNNmmmmmddmNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNmdhhhhdmNNNNNNNNNNs///-.-::/://:+dddhhhhhddddmmmddhho++//ymNNdhmmdddddmmmNmNNddmdddddddddddhdddddddddds:::::::::::::::://////+++/////::::::////////:::::::::::--------ommmNNNmNNNNNNNNNNNNNNNNNNNNNNyhyyyyhdmmddhhhhyhhhhhddy-::-//:/:-/:/smNNNNNNNNmmddddmmNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNmdhhhhhmNNNNNNNNNNs///-/+-:/--::+hhdhhhhhhyyyyyyhhhyoo+/:ymNNddmmmddmmmNNNNNNddmmmmdddddddddddddddddddo:::::::::::::::::///////////////:::////////::::::::::::---------/ydmmmmmNNNNNNNNNNNNNNNNNNNNNyhyysyyssssssssyyyhhhhhdy--..-/::+-/:/smNNNNNNNNmmddmmmNNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNmddhhhhmNNNNNNmNNNs///-/+:/....-/hhhhhhhhyyyyysssosyso+//ymNNddmmmmmmmmNNNNNNddmmmddddddddddddddddddy/--::::::::::::::::::////////////::::::::::::::::::::::-----------../sdmmmmmmmmmNNNNNNNNNNNNNNNyhyyssyoooossssyyyyhhhdds--...-:/o-+::smNNNNNNNNmmmdmmmNNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNmddhhhhdNNNNNNmNNNs/:/-//--...--/hhddhhhyyyyyssssooyso+++hmNNddmmmmmmmmNNNNNNddmddddddddddddddddddy/-..-::::::::::::::::::::::::::::::::::::::::::::::::::-------------....:yddmmmmmmmmmmmmmNNNNNNNNyhyyssyoooosssyyhdddmmddy--:.--.-:-/::smNNNNNNNNmmmdmmmmNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNmdhhhhdmNNNNNNNNNNs///---.---::-/hdddmmhhdhhyysssooyoosoohmNNmdmmmmmmmmmmmmmmhddddddddddddddddddy+..-..-::-:::::::::::::::::::::::::::::::::::::::::::::-:-------------......-/syhddmmmmmmmmmmmmmmmmyhhysssoosyhddmmmmmmmmmdy--:-......+:/smNNNNNNNNmmmmmmmNNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNmdhhhhdmNNNNNNNNNNs+//-......::-/hdddmmyyNmmmmddhyyyssso+hmNNmdmmmmmmmmmmmmmmhhddhhhhhhhhhhhyso/-.....---::-::::::::::::::::::::::::::::::--::::::::-------------------..........-:osyyyyyyhhhhhhhhdsyyyssyhdmmmmmmmmmmmmmmdy-::......-+:+omNNNNNNNNmmmdmmmmNNNNNNNNNNNNNNNNNNMNN
|
||||
NNNNNNNmhhhhhdmNNNNNNNNNNs+//-......:/-/dddmmmyyNmmmmmmmmhhssso+hmmmmddddhhyssoo+++/:::------------......`...---::-:::::::::::::::::::::::::-------::::::---------------------...-.......`.....---.....--------://+ossyyhddddmmmmmdy-::-.....-+:/ommNNNNNNNmmmmmmmmNNNNNNNNNNNNNNNNNNNNN
|
||||
NNNNNNNmhhhhhhdNNNNNNNNNNs+//-.....-//:+dmmmmmsyNmmmmmmmdhyoo++/+o++/::---................................-..----:--::::::::::::::::::::::::--------:::::----------------------...-.............-::--....................---::/+++o+--:......-+:/ommNNNNNNNmdddmmmmNNNNNNNNNNNNNNNNMMNMM
|
||||
MMMNNNNmhhhhhhdNNNNNNNNNms+/+-.....-:/:+ddddddooyysoo+/::--...................-----:::::-----............-...-------:::::::----:::::::::::::--------::::-----------------------...................--::///+++//:::----.........................--:/hdmmmmNNmmdddmmmmNNNNNNNNMMMMMMMMMMMMM
|
||||
MNNNNNNdhhhhhhhmNNNmNNNNms+/+:.....-//:/yso+/:...................----:://+oossyyyhhhs////:-..............-...----:---:-----------::::::::::::----------------------------------......................--://++oooooossssoo+++///:::::--.............--:+oyhddmdddmmmmNNNNNNNNNNNNNNNNMMMMM
|
||||
MMNNMNNmdhhhhhdmNNmmNmNmmy+/+:.....-:-..............--::://+++oosyyhhhddddddddddhysso/:--................-....---------------------::::::::::-------:--------------------------.........................-:/:-..--:+ooysoooossyhyyyysooooo+++/::--........-:/+syhdmmNNNNNNNNNNNNNNNNNNNNN
|
||||
MMMNNNNmdhhhhhdmNNNmNmmmmyo+/:.............-://+ossyyyyysyyoooooyddddhdddhhys+/:-///:-..................-.....-----------------------::::::::::::-----------------------------............................-:::.......-::/++osyhyyhhy/oo//::/+oyssso//:-........-:/+syhdmNNNNNNNNNNNNNNNN
|
||||
MMNNNNNmdhhhhyhmmmmmmmdhy+:-..........-//+yhddhhyyyhhhhssss+++++ydddhys+/--....-//:-.....`..............-......------------------------::::::::-------------------------------..............................-::-...`......--:/+oyhhs/oo:::----ooshmsoosso+:--.........:/+syhdmNNNNNNNNNN
|
||||
NNNNNNNmdhhhyyhddhys+:-..........-:+oss+::dmmmhhhyyyyhyyoos++//+oso/-........-::-...............................------------------------::::::::-----------------------------..................................-...`............-:/+/o+:-:---:osshm+-:ymmmdhyso/:--........--:/oshhdmmmm
|
||||
NNNNNNNmdhyyso+/:-.........-://+oo++sy+-.-dmmmhhmdddhhyyooo/:-...........`...//:-................................---------------------------:::-----------------------.----....................................--..........``...``...---.----:ossym+--ymNNNmmmdddhyso/::-.........-:/+sy
|
||||
NNNmmdhyo/:-..........-:+osyso/::-::oh+-.-dddmhydddddhys/:-.................----..................................-------------------------------------------------------.......................................-...............``..........--+oosd/--ymNNNmmmmdmmmNNmddyso/:-..........
|
||||
dhs+/:-.........--:+oyhdmhyso/:::::/sho-.-ddddyshhys+/-.....................-......................................-----------------------------------------------------........................................--.....`.......``.`............-/oh/--smmNNmmmmmmmNNNNNNNNmmdhys+/:-....
|
||||
-..........-:/osyddmmNNNNhyoo+::::::oy+-.-dddho//:-.........................-......................`...............-----------------------------------------------------..................`...........``.......---.`.`............................:---sddmmmmmmmmmNNNNNNNNNNNNNNmmdhyo+/
|
||||
......-:/osyhddmmmmmmNNNNhyoo+::::::oy+-.-ys/-.............................--.......................................---------------------------------------------------...................................-------:....................................+hddmmmmmmmmNNNNNNNNNNNNNNNNNNmmmd
|
||||
--/+syhdddhhhhmmmmmmNNNNNhyoo+::::::oh+-..:................................-..........................................-------------------------------------..---------....................................--...--:-....................................-+ydmmmmmmmNmmmmNNNNmmmmmmmNNNNNN
|
||||
hdmmmmmmdhhhhhmmmmmmNNNNNhsso+:::::/oy/...`...............................--...........................................----------------------------------....--------......................................-------:......................................-/ydmmmmmNmmmmmmmmmmmmmNmmmNNNN
|
||||
mmmmmmmmdddddhdmmmmmNNNNNdyso+:::::::-....................................--....-........................................----.......-------------------........-----.....................................`.....---:........................................./ydmmmNmmmmmmmmmmmmmmNNNNNNN
|
||||
mmmmmmmNmmdddddmmmmmNNNNNdyo++::::-.......................................--...............................................---.........--------------.........----..................................`...........--:.........................................../hmmmmmmmmmmmmmmNNNNNNNNNN
|
||||
mmmmmmmNmmdddddmmmmmNNNNNds++o::-......................................`..:-............................................................------------................................................`...........--/............................................-sdmmmmmmmmmmmNNNNNNNNNNN
|
||||
mmmmmmmNmddddddmmmmmNNmNNds+++:...........................................---...-........................................................----------...................................................`.....----::/............................................../ydmmmmmmmNNNNNNNNNNNNN
|
||||
mmmmmmmNmmdddddmmmdmNNmNNds+/:............................................--...--................-..........................................------....................................................`.`...--::::/................................................odmmmNNNNNNNNNNNNNNNN
|
||||
mmmmmmmNmmdddddmddddmNmNmhs/-..........................................`..---..--..........................................................................................................................----::::................................................./hmmmNNNmmmmmmmmmmmm
|
||||
mmmmmmmNmmdddddmdddddmmddh/...............................................-:-..............................................................................................................................-:::::/:..................................................-smNNNNmmmmmmmmmmmm
|
||||
mmmmmmmNmmmddddmmmmddddhy/................................................:/:--..-.........................................................................................................................::::::/:....................................................+dmmmmNmmmmmmmmNm
|
||||
mmmmmmmNmmmmmddmmmmmddhs-.................................................-::-...-........................................................................................................................-::::://:.....................................................:hmmmmmmmNNNNNNN
|
||||
mmmmmmmNmmmmmddmNmmddho-..................................................-/:------.......................................................................................................................:::::://:......................................................:dmmmmmmmNNNNNN
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
|
||||
<script language="javascript" type="text/javascript" src="p5.js"></script>
|
||||
<script language="javascript" type="text/javascript" src="commands.js"></script>
|
||||
<script language="javascript" type="text/javascript" src="console.js"></script>
|
||||
<style> body {background-color:#000; position:fixed; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:1;} </style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
||||
32625
p5js/p5.js
Normal file
32625
p5js/p5.js
Normal file
File diff suppressed because it is too large
Load Diff
87
processing3/virtualCommandline/virtualCommandline.pde
Normal file
87
processing3/virtualCommandline/virtualCommandline.pde
Normal file
@@ -0,0 +1,87 @@
|
||||
CommandLine commandLine;
|
||||
void setup() {
|
||||
size (800, 420);
|
||||
commandLine = new CommandLine();
|
||||
}
|
||||
int pfc;
|
||||
void draw() {
|
||||
background(0);
|
||||
fill(#FFFFFF);
|
||||
stroke(#FFFFFF);
|
||||
commandLine.update();
|
||||
commandLine.display();
|
||||
}
|
||||
|
||||
class CommandLine {
|
||||
String userInput = "";
|
||||
String inputString;
|
||||
String[] presentedLines;
|
||||
String[] possibleCommands = { "asd" };
|
||||
int idleFrameCount;
|
||||
boolean busy;
|
||||
CommandLine() {
|
||||
presentedLines = new String[30];
|
||||
for (int i = 0; i < presentedLines.length; i++) {
|
||||
presentedLines[i] = "";
|
||||
}
|
||||
}
|
||||
void getUserInput(int code, char c) {
|
||||
println(code, c);
|
||||
if (!busy) {
|
||||
if (code != 8 && code != 10 && code != 16 && code != 17 && code != 18 && code != 20)
|
||||
userInput = userInput + c;
|
||||
if (code == 8 && userInput.length() > 0) { //backspace
|
||||
userInput = userInput.substring(0, userInput.length()-1);
|
||||
} else if (code == 10) { //enter
|
||||
enterInput();
|
||||
userInput = "";
|
||||
}
|
||||
}
|
||||
}
|
||||
void pushLineString(String bottomLine) {
|
||||
println("bottomline " + bottomLine);
|
||||
for (int i = presentedLines.length-1; i > 0; i--) {
|
||||
presentedLines[i] = presentedLines[i-1];
|
||||
}
|
||||
presentedLines[0] = bottomLine;
|
||||
}
|
||||
void enterInput() { //user Input DEFINE COMMANDS HERE THAT ARE DETECTED
|
||||
if (userInput.equals("asd")) {
|
||||
goOutside();
|
||||
} else {
|
||||
pushLineString(inputString);
|
||||
}
|
||||
}
|
||||
|
||||
void update() {
|
||||
if (!busy) {
|
||||
inputString = "guest@iris ~ $ " + userInput;
|
||||
presentedLines[0] = inputString;
|
||||
} else {
|
||||
if (idleFrameCount + pfc < frameCount) {
|
||||
busy = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
void display() {
|
||||
for (int i = 0; i < presentedLines.length; i++) {
|
||||
text(presentedLines[i], 13, height-25-(i*13));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void goOutside() {
|
||||
commandLine.busy = true;
|
||||
pfc = frameCount;
|
||||
// String[] stringList = {"Processing",};
|
||||
// l("processing user data...", 10);
|
||||
// pfc = frameCount;
|
||||
// pushLineString(input);
|
||||
// idleFrameCount += f;
|
||||
}
|
||||
|
||||
|
||||
void keyPressed() {
|
||||
//println(keyCode + " " + key);
|
||||
commandLine.getUserInput(keyCode, key);
|
||||
}
|
||||
Reference in New Issue
Block a user