diff --git a/.testsCoverage/clover.xml b/.testsCoverage/clover.xml
deleted file mode 100644
index f77aacffb3..0000000000
--- a/.testsCoverage/clover.xml
+++ /dev/null
@@ -1,254 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.testsCoverage/coverage-final.json b/.testsCoverage/coverage-final.json
deleted file mode 100644
index ec86af2a0f..0000000000
--- a/.testsCoverage/coverage-final.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{"/home/desktop/Apps/Superalgos_DEV/Superalgos/Environment.js": {"path":"/home/desktop/Apps/Superalgos_DEV/Superalgos/Environment.js","statementMap":{"0":{"start":{"line":1,"column":13},"end":{"line":1,"column":28}},"1":{"start":{"line":4,"column":0},"end":{"line":8,"column":1}},"2":{"start":{"line":5,"column":4},"end":{"line":5,"column":40}},"3":{"start":{"line":7,"column":4},"end":{"line":7,"column":24}},"4":{"start":{"line":10,"column":25},"end":{"line":10,"column":90}},"5":{"start":{"line":12,"column":0},"end":{"line":79,"column":1}},"6":{"start":{"line":14,"column":21},"end":{"line":64,"column":5}},"7":{"start":{"line":66,"column":4},"end":{"line":70,"column":5}},"8":{"start":{"line":67,"column":8},"end":{"line":67,"column":110}},"9":{"start":{"line":68,"column":8},"end":{"line":68,"column":104}},"10":{"start":{"line":69,"column":8},"end":{"line":69,"column":109}},"11":{"start":{"line":72,"column":4},"end":{"line":76,"column":5}},"12":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"13":{"start":{"line":74,"column":12},"end":{"line":74,"column":81}},"14":{"start":{"line":78,"column":4},"end":{"line":78,"column":21}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":25},"end":{"line":12,"column":26}},"loc":{"start":{"line":12,"column":37},"end":{"line":79,"column":1}},"line":12}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":0},"end":{"line":8,"column":1}},"type":"if","locations":[{"start":{"line":4,"column":0},"end":{"line":8,"column":1}},{"start":{"line":6,"column":7},"end":{"line":8,"column":1}}],"line":4},"1":{"loc":{"start":{"line":66,"column":4},"end":{"line":70,"column":5}},"type":"if","locations":[{"start":{"line":66,"column":4},"end":{"line":70,"column":5}},{"start":{},"end":{}}],"line":66},"2":{"loc":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"type":"if","locations":[{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},{"start":{},"end":{}}],"line":73}},"s":{"0":3,"1":3,"2":0,"3":3,"4":3,"5":3,"6":8,"7":8,"8":0,"9":0,"10":0,"11":8,"12":368,"13":0,"14":8},"f":{"0":8},"b":{"0":[0,3],"1":[0,8],"2":[0,368]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"7153cf2c1561e3e4c3263dd4f604d1a44ffe9ff1"}
-,"/home/desktop/Apps/Superalgos_DEV/Superalgos/.mocks/simple-git.js": {"path":"/home/desktop/Apps/Superalgos_DEV/Superalgos/.mocks/simple-git.js","statementMap":{"0":{"start":{"line":1,"column":27},"end":{"line":16,"column":1}},"1":{"start":{"line":18,"column":28},"end":{"line":36,"column":1}},"2":{"start":{"line":38,"column":29},"end":{"line":40,"column":1}},"3":{"start":{"line":42,"column":0},"end":{"line":46,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"af61419cf0c48a39b6566562070bad2997c25786"}
-,"/home/desktop/Apps/Superalgos_DEV/Superalgos/Launch-Scripts/createShortcut.js": {"path":"/home/desktop/Apps/Superalgos_DEV/Superalgos/Launch-Scripts/createShortcut.js","statementMap":{"0":{"start":{"line":1,"column":13},"end":{"line":1,"column":28}},"1":{"start":{"line":2,"column":11},"end":{"line":2,"column":24}},"2":{"start":{"line":3,"column":21},"end":{"line":3,"column":45}},"3":{"start":{"line":4,"column":11},"end":{"line":4,"column":24}},"4":{"start":{"line":6,"column":23},"end":{"line":160,"column":1}},"5":{"start":{"line":8,"column":14},"end":{"line":8,"column":23}},"6":{"start":{"line":9,"column":15},"end":{"line":9,"column":34}},"7":{"start":{"line":10,"column":15},"end":{"line":10,"column":36}},"8":{"start":{"line":13,"column":4},"end":{"line":159,"column":5}},"9":{"start":{"line":15,"column":21},"end":{"line":15,"column":64}},"10":{"start":{"line":16,"column":19},"end":{"line":16,"column":58}},"11":{"start":{"line":17,"column":28},"end":{"line":20,"column":9}},"12":{"start":{"line":23,"column":8},"end":{"line":45,"column":9}},"13":{"start":{"line":24,"column":26},"end":{"line":24,"column":173}},"14":{"start":{"line":26,"column":12},"end":{"line":44,"column":14}},"15":{"start":{"line":32,"column":20},"end":{"line":43,"column":21}},"16":{"start":{"line":33,"column":24},"end":{"line":33,"column":39}},"17":{"start":{"line":34,"column":24},"end":{"line":34,"column":81}},"18":{"start":{"line":35,"column":24},"end":{"line":35,"column":39}},"19":{"start":{"line":36,"column":24},"end":{"line":36,"column":44}},"20":{"start":{"line":37,"column":24},"end":{"line":37,"column":36}},"21":{"start":{"line":39,"column":24},"end":{"line":39,"column":39}},"22":{"start":{"line":40,"column":24},"end":{"line":40,"column":67}},"23":{"start":{"line":41,"column":24},"end":{"line":41,"column":39}},"24":{"start":{"line":42,"column":24},"end":{"line":42,"column":43}},"25":{"start":{"line":47,"column":8},"end":{"line":47,"column":53}},"26":{"start":{"line":50,"column":11},"end":{"line":159,"column":5}},"27":{"start":{"line":52,"column":22},"end":{"line":52,"column":34}},"28":{"start":{"line":54,"column":8},"end":{"line":99,"column":9}},"29":{"start":{"line":56,"column":23},"end":{"line":56,"column":95}},"30":{"start":{"line":59,"column":12},"end":{"line":70,"column":13}},"31":{"start":{"line":73,"column":12},"end":{"line":73,"column":52}},"32":{"start":{"line":76,"column":26},"end":{"line":76,"column":137}},"33":{"start":{"line":77,"column":16},"end":{"line":91,"column":18}},"34":{"start":{"line":79,"column":24},"end":{"line":88,"column":25}},"35":{"start":{"line":80,"column":28},"end":{"line":80,"column":43}},"36":{"start":{"line":81,"column":28},"end":{"line":81,"column":85}},"37":{"start":{"line":82,"column":28},"end":{"line":82,"column":43}},"38":{"start":{"line":83,"column":28},"end":{"line":83,"column":48}},"39":{"start":{"line":84,"column":28},"end":{"line":84,"column":40}},"40":{"start":{"line":86,"column":28},"end":{"line":86,"column":43}},"41":{"start":{"line":87,"column":28},"end":{"line":87,"column":72}},"42":{"start":{"line":90,"column":24},"end":{"line":90,"column":58}},"43":{"start":{"line":93,"column":12},"end":{"line":93,"column":49}},"44":{"start":{"line":97,"column":12},"end":{"line":97,"column":212}},"45":{"start":{"line":98,"column":12},"end":{"line":98,"column":62}},"46":{"start":{"line":102,"column":11},"end":{"line":159,"column":5}},"47":{"start":{"line":103,"column":21},"end":{"line":103,"column":60}},"48":{"start":{"line":104,"column":38},"end":{"line":104,"column":111}},"49":{"start":{"line":105,"column":39},"end":{"line":105,"column":64}},"50":{"start":{"line":106,"column":34},"end":{"line":106,"column":134}},"51":{"start":{"line":107,"column":41},"end":{"line":107,"column":68}},"52":{"start":{"line":109,"column":8},"end":{"line":150,"column":9}},"53":{"start":{"line":111,"column":16},"end":{"line":117,"column":13}},"54":{"start":{"line":120,"column":12},"end":{"line":122,"column":14}},"55":{"start":{"line":125,"column":12},"end":{"line":125,"column":46}},"56":{"start":{"line":128,"column":12},"end":{"line":131,"column":14}},"57":{"start":{"line":134,"column":12},"end":{"line":137,"column":14}},"58":{"start":{"line":140,"column":12},"end":{"line":143,"column":14}},"59":{"start":{"line":145,"column":12},"end":{"line":145,"column":27}},"60":{"start":{"line":146,"column":12},"end":{"line":146,"column":69}},"61":{"start":{"line":147,"column":12},"end":{"line":147,"column":27}},"62":{"start":{"line":148,"column":12},"end":{"line":148,"column":32}},"63":{"start":{"line":149,"column":12},"end":{"line":149,"column":24}},"64":{"start":{"line":152,"column":8},"end":{"line":152,"column":52}},"65":{"start":{"line":153,"column":8},"end":{"line":153,"column":42}},"66":{"start":{"line":157,"column":8},"end":{"line":157,"column":218}},"67":{"start":{"line":158,"column":8},"end":{"line":158,"column":55}},"68":{"start":{"line":162,"column":0},"end":{"line":162,"column":31}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":23},"end":{"line":6,"column":24}},"loc":{"start":{"line":6,"column":29},"end":{"line":160,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":31,"column":16},"end":{"line":31,"column":17}},"loc":{"start":{"line":31,"column":41},"end":{"line":44,"column":13}},"line":31},"2":{"name":"(anonymous_2)","decl":{"start":{"line":78,"column":20},"end":{"line":78,"column":21}},"loc":{"start":{"line":78,"column":46},"end":{"line":91,"column":17}},"line":78}},"branchMap":{"0":{"loc":{"start":{"line":13,"column":4},"end":{"line":159,"column":5}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":159,"column":5}},{"start":{"line":50,"column":11},"end":{"line":159,"column":5}}],"line":13},"1":{"loc":{"start":{"line":32,"column":20},"end":{"line":43,"column":21}},"type":"if","locations":[{"start":{"line":32,"column":20},"end":{"line":43,"column":21}},{"start":{"line":38,"column":27},"end":{"line":43,"column":21}}],"line":32},"2":{"loc":{"start":{"line":50,"column":11},"end":{"line":159,"column":5}},"type":"if","locations":[{"start":{"line":50,"column":11},"end":{"line":159,"column":5}},{"start":{"line":102,"column":11},"end":{"line":159,"column":5}}],"line":50},"3":{"loc":{"start":{"line":54,"column":8},"end":{"line":99,"column":9}},"type":"if","locations":[{"start":{"line":54,"column":8},"end":{"line":99,"column":9}},{"start":{"line":96,"column":15},"end":{"line":99,"column":9}}],"line":54},"4":{"loc":{"start":{"line":79,"column":24},"end":{"line":88,"column":25}},"type":"if","locations":[{"start":{"line":79,"column":24},"end":{"line":88,"column":25}},{"start":{"line":85,"column":31},"end":{"line":88,"column":25}}],"line":79},"5":{"loc":{"start":{"line":102,"column":11},"end":{"line":159,"column":5}},"type":"if","locations":[{"start":{"line":102,"column":11},"end":{"line":159,"column":5}},{"start":{"line":156,"column":11},"end":{"line":159,"column":5}}],"line":102}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":5,"6":5,"7":5,"8":5,"9":1,"10":1,"11":1,"12":1,"13":2,"14":2,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":1,"26":4,"27":2,"28":2,"29":1,"30":1,"31":1,"32":1,"33":1,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":1,"44":1,"45":1,"46":2,"47":1,"48":1,"49":1,"50":1,"51":1,"52":1,"53":1,"54":1,"55":1,"56":1,"57":1,"58":1,"59":0,"60":0,"61":0,"62":0,"63":0,"64":1,"65":1,"66":1,"67":1,"68":1},"f":{"0":5,"1":0,"2":0},"b":{"0":[1,4],"1":[0,0],"2":[2,2],"3":[1,1],"4":[0,0],"5":[1,1]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"93bc23a53ee4cbfb9145434a4f8127bdf60a25ac"}
-,"/home/desktop/Apps/Superalgos_DEV/Superalgos/Launch-Scripts/runSetup.js": {"path":"/home/desktop/Apps/Superalgos_DEV/Superalgos/Launch-Scripts/runSetup.js","statementMap":{"0":{"start":{"line":1,"column":13},"end":{"line":1,"column":28}},"1":{"start":{"line":2,"column":11},"end":{"line":2,"column":24}},"2":{"start":{"line":3,"column":16},"end":{"line":3,"column":34}},"3":{"start":{"line":4,"column":17},"end":{"line":4,"column":41}},"4":{"start":{"line":5,"column":14},"end":{"line":5,"column":30}},"5":{"start":{"line":6,"column":27},"end":{"line":6,"column":95}},"6":{"start":{"line":7,"column":12},"end":{"line":7,"column":54}},"7":{"start":{"line":8,"column":28},"end":{"line":8,"column":48}},"8":{"start":{"line":9,"column":25},"end":{"line":9,"column":70}},"9":{"start":{"line":10,"column":18},"end":{"line":10,"column":39}},"10":{"start":{"line":12,"column":18},"end":{"line":15,"column":1}},"11":{"start":{"line":13,"column":2},"end":{"line":13,"column":18}},"12":{"start":{"line":14,"column":2},"end":{"line":14,"column":17}},"13":{"start":{"line":18,"column":31},"end":{"line":40,"column":1}},"14":{"start":{"line":19,"column":2},"end":{"line":37,"column":3}},"15":{"start":{"line":19,"column":15},"end":{"line":19,"column":16}},"16":{"start":{"line":20,"column":16},"end":{"line":20,"column":38}},"17":{"start":{"line":21,"column":21},"end":{"line":21,"column":41}},"18":{"start":{"line":22,"column":17},"end":{"line":22,"column":56}},"19":{"start":{"line":23,"column":16},"end":{"line":36,"column":6}},"20":{"start":{"line":24,"column":6},"end":{"line":35,"column":7}},"21":{"start":{"line":25,"column":8},"end":{"line":27,"column":11}},"22":{"start":{"line":28,"column":8},"end":{"line":28,"column":20}},"23":{"start":{"line":30,"column":28},"end":{"line":30,"column":54}},"24":{"start":{"line":31,"column":8},"end":{"line":31,"column":30}},"25":{"start":{"line":32,"column":8},"end":{"line":32,"column":94}},"26":{"start":{"line":32,"column":38},"end":{"line":32,"column":93}},"27":{"start":{"line":33,"column":8},"end":{"line":33,"column":59}},"28":{"start":{"line":33,"column":39},"end":{"line":33,"column":58}},"29":{"start":{"line":34,"column":8},"end":{"line":34,"column":19}},"30":{"start":{"line":38,"column":2},"end":{"line":38,"column":43}},"31":{"start":{"line":39,"column":2},"end":{"line":39,"column":37}},"32":{"start":{"line":42,"column":29},"end":{"line":125,"column":1}},"33":{"start":{"line":44,"column":18},"end":{"line":47,"column":3}},"34":{"start":{"line":50,"column":2},"end":{"line":52,"column":65}},"35":{"start":{"line":50,"column":29},"end":{"line":50,"column":67}},"36":{"start":{"line":52,"column":7},"end":{"line":52,"column":65}},"37":{"start":{"line":53,"column":14},"end":{"line":53,"column":32}},"38":{"start":{"line":56,"column":16},"end":{"line":56,"column":59}},"39":{"start":{"line":59,"column":2},"end":{"line":68,"column":3}},"40":{"start":{"line":60,"column":4},"end":{"line":67,"column":5}},"41":{"start":{"line":61,"column":6},"end":{"line":61,"column":26}},"42":{"start":{"line":63,"column":6},"end":{"line":63,"column":27}},"43":{"start":{"line":64,"column":6},"end":{"line":66,"column":7}},"44":{"start":{"line":65,"column":8},"end":{"line":65,"column":43}},"45":{"start":{"line":71,"column":2},"end":{"line":73,"column":3}},"46":{"start":{"line":72,"column":4},"end":{"line":72,"column":93}},"47":{"start":{"line":78,"column":2},"end":{"line":86,"column":3}},"48":{"start":{"line":79,"column":4},"end":{"line":85,"column":5}},"49":{"start":{"line":80,"column":6},"end":{"line":80,"column":36}},"50":{"start":{"line":81,"column":6},"end":{"line":81,"column":20}},"51":{"start":{"line":83,"column":6},"end":{"line":83,"column":50}},"52":{"start":{"line":84,"column":6},"end":{"line":84,"column":20}},"53":{"start":{"line":89,"column":21},"end":{"line":89,"column":61}},"54":{"start":{"line":90,"column":21},"end":{"line":90,"column":26}},"55":{"start":{"line":91,"column":22},"end":{"line":91,"column":27}},"56":{"start":{"line":92,"column":2},"end":{"line":95,"column":3}},"57":{"start":{"line":92,"column":15},"end":{"line":92,"column":16}},"58":{"start":{"line":93,"column":4},"end":{"line":94,"column":68}},"59":{"start":{"line":93,"column":42},"end":{"line":93,"column":61}},"60":{"start":{"line":94,"column":9},"end":{"line":94,"column":68}},"61":{"start":{"line":94,"column":48},"end":{"line":94,"column":68}},"62":{"start":{"line":96,"column":2},"end":{"line":98,"column":3}},"63":{"start":{"line":97,"column":4},"end":{"line":97,"column":40}},"64":{"start":{"line":99,"column":2},"end":{"line":101,"column":3}},"65":{"start":{"line":100,"column":4},"end":{"line":100,"column":41}},"66":{"start":{"line":104,"column":2},"end":{"line":104,"column":57}},"67":{"start":{"line":105,"column":2},"end":{"line":107,"column":3}},"68":{"start":{"line":106,"column":4},"end":{"line":106,"column":41}},"69":{"start":{"line":109,"column":2},"end":{"line":111,"column":3}},"70":{"start":{"line":110,"column":4},"end":{"line":110,"column":53}},"71":{"start":{"line":113,"column":2},"end":{"line":122,"column":3}},"72":{"start":{"line":115,"column":4},"end":{"line":121,"column":5}},"73":{"start":{"line":116,"column":6},"end":{"line":116,"column":53}},"74":{"start":{"line":119,"column":6},"end":{"line":119,"column":57}},"75":{"start":{"line":120,"column":6},"end":{"line":120,"column":59}},"76":{"start":{"line":123,"column":2},"end":{"line":123,"column":51}},"77":{"start":{"line":124,"column":2},"end":{"line":124,"column":45}},"78":{"start":{"line":127,"column":17},"end":{"line":177,"column":1}},"79":{"start":{"line":129,"column":12},"end":{"line":129,"column":25}},"80":{"start":{"line":130,"column":16},"end":{"line":130,"column":65}},"81":{"start":{"line":131,"column":24},"end":{"line":147,"column":4}},"82":{"start":{"line":132,"column":4},"end":{"line":146,"column":8}},"83":{"start":{"line":137,"column":8},"end":{"line":143,"column":9}},"84":{"start":{"line":138,"column":10},"end":{"line":138,"column":25}},"85":{"start":{"line":139,"column":10},"end":{"line":139,"column":80}},"86":{"start":{"line":140,"column":10},"end":{"line":140,"column":25}},"87":{"start":{"line":141,"column":10},"end":{"line":141,"column":28}},"88":{"start":{"line":142,"column":10},"end":{"line":142,"column":25}},"89":{"start":{"line":144,"column":8},"end":{"line":144,"column":23}},"90":{"start":{"line":145,"column":8},"end":{"line":145,"column":27}},"91":{"start":{"line":157,"column":2},"end":{"line":157,"column":17}},"92":{"start":{"line":158,"column":2},"end":{"line":158,"column":47}},"93":{"start":{"line":159,"column":2},"end":{"line":159,"column":17}},"94":{"start":{"line":160,"column":2},"end":{"line":160,"column":26}},"95":{"start":{"line":163,"column":2},"end":{"line":174,"column":4}},"96":{"start":{"line":168,"column":18},"end":{"line":168,"column":23}},"97":{"start":{"line":169,"column":4},"end":{"line":173,"column":23}},"98":{"start":{"line":170,"column":6},"end":{"line":172,"column":8}},"99":{"start":{"line":171,"column":8},"end":{"line":171,"column":53}},"100":{"start":{"line":175,"column":2},"end":{"line":175,"column":31}},"101":{"start":{"line":176,"column":2},"end":{"line":176,"column":25}},"102":{"start":{"line":179,"column":0},"end":{"line":183,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":18},"end":{"line":12,"column":19}},"loc":{"start":{"line":12,"column":25},"end":{"line":15,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":31},"end":{"line":18,"column":32}},"loc":{"start":{"line":18,"column":37},"end":{"line":40,"column":1}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":23,"column":31},"end":{"line":23,"column":32}},"loc":{"start":{"line":23,"column":39},"end":{"line":36,"column":5}},"line":23},"3":{"name":"(anonymous_3)","decl":{"start":{"line":32,"column":32},"end":{"line":32,"column":33}},"loc":{"start":{"line":32,"column":38},"end":{"line":32,"column":93}},"line":32},"4":{"name":"(anonymous_4)","decl":{"start":{"line":33,"column":33},"end":{"line":33,"column":34}},"loc":{"start":{"line":33,"column":39},"end":{"line":33,"column":58}},"line":33},"5":{"name":"(anonymous_5)","decl":{"start":{"line":42,"column":29},"end":{"line":42,"column":30}},"loc":{"start":{"line":42,"column":63},"end":{"line":125,"column":1}},"line":42},"6":{"name":"(anonymous_6)","decl":{"start":{"line":127,"column":17},"end":{"line":127,"column":18}},"loc":{"start":{"line":127,"column":23},"end":{"line":177,"column":1}},"line":127},"7":{"name":"(anonymous_7)","decl":{"start":{"line":131,"column":36},"end":{"line":131,"column":37}},"loc":{"start":{"line":131,"column":47},"end":{"line":147,"column":3}},"line":131},"8":{"name":"(anonymous_8)","decl":{"start":{"line":136,"column":6},"end":{"line":136,"column":7}},"loc":{"start":{"line":136,"column":25},"end":{"line":146,"column":7}},"line":136},"9":{"name":"(anonymous_9)","decl":{"start":{"line":163,"column":23},"end":{"line":163,"column":24}},"loc":{"start":{"line":163,"column":29},"end":{"line":174,"column":3}},"line":163},"10":{"name":"(anonymous_10)","decl":{"start":{"line":169,"column":32},"end":{"line":169,"column":33}},"loc":{"start":{"line":169,"column":44},"end":{"line":173,"column":5}},"line":169},"11":{"name":"(anonymous_11)","decl":{"start":{"line":170,"column":46},"end":{"line":170,"column":47}},"loc":{"start":{"line":170,"column":56},"end":{"line":172,"column":7}},"line":170}},"branchMap":{"0":{"loc":{"start":{"line":24,"column":6},"end":{"line":35,"column":7}},"type":"if","locations":[{"start":{"line":24,"column":6},"end":{"line":35,"column":7}},{"start":{"line":29,"column":13},"end":{"line":35,"column":7}}],"line":24},"1":{"loc":{"start":{"line":42,"column":41},"end":{"line":42,"column":58}},"type":"default-arg","locations":[{"start":{"line":42,"column":46},"end":{"line":42,"column":58}}],"line":42},"2":{"loc":{"start":{"line":50,"column":2},"end":{"line":52,"column":65}},"type":"if","locations":[{"start":{"line":50,"column":2},"end":{"line":52,"column":65}},{"start":{"line":52,"column":7},"end":{"line":52,"column":65}}],"line":50},"3":{"loc":{"start":{"line":50,"column":47},"end":{"line":50,"column":67}},"type":"binary-expr","locations":[{"start":{"line":50,"column":47},"end":{"line":50,"column":50}},{"start":{"line":50,"column":54},"end":{"line":50,"column":67}}],"line":50},"4":{"loc":{"start":{"line":60,"column":4},"end":{"line":67,"column":5}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":67,"column":5}},{"start":{"line":62,"column":11},"end":{"line":67,"column":5}}],"line":60},"5":{"loc":{"start":{"line":64,"column":6},"end":{"line":66,"column":7}},"type":"if","locations":[{"start":{"line":64,"column":6},"end":{"line":66,"column":7}},{"start":{},"end":{}}],"line":64},"6":{"loc":{"start":{"line":71,"column":2},"end":{"line":73,"column":3}},"type":"if","locations":[{"start":{"line":71,"column":2},"end":{"line":73,"column":3}},{"start":{},"end":{}}],"line":71},"7":{"loc":{"start":{"line":78,"column":2},"end":{"line":86,"column":3}},"type":"if","locations":[{"start":{"line":78,"column":2},"end":{"line":86,"column":3}},{"start":{},"end":{}}],"line":78},"8":{"loc":{"start":{"line":78,"column":6},"end":{"line":78,"column":37}},"type":"binary-expr","locations":[{"start":{"line":78,"column":6},"end":{"line":78,"column":27}},{"start":{"line":78,"column":31},"end":{"line":78,"column":37}}],"line":78},"9":{"loc":{"start":{"line":79,"column":4},"end":{"line":85,"column":5}},"type":"if","locations":[{"start":{"line":79,"column":4},"end":{"line":85,"column":5}},{"start":{"line":82,"column":11},"end":{"line":85,"column":5}}],"line":79},"10":{"loc":{"start":{"line":93,"column":4},"end":{"line":94,"column":68}},"type":"if","locations":[{"start":{"line":93,"column":4},"end":{"line":94,"column":68}},{"start":{"line":94,"column":9},"end":{"line":94,"column":68}}],"line":93},"11":{"loc":{"start":{"line":94,"column":9},"end":{"line":94,"column":68}},"type":"if","locations":[{"start":{"line":94,"column":9},"end":{"line":94,"column":68}},{"start":{},"end":{}}],"line":94},"12":{"loc":{"start":{"line":96,"column":2},"end":{"line":98,"column":3}},"type":"if","locations":[{"start":{"line":96,"column":2},"end":{"line":98,"column":3}},{"start":{},"end":{}}],"line":96},"13":{"loc":{"start":{"line":99,"column":2},"end":{"line":101,"column":3}},"type":"if","locations":[{"start":{"line":99,"column":2},"end":{"line":101,"column":3}},{"start":{},"end":{}}],"line":99},"14":{"loc":{"start":{"line":105,"column":2},"end":{"line":107,"column":3}},"type":"if","locations":[{"start":{"line":105,"column":2},"end":{"line":107,"column":3}},{"start":{},"end":{}}],"line":105},"15":{"loc":{"start":{"line":105,"column":6},"end":{"line":105,"column":70}},"type":"binary-expr","locations":[{"start":{"line":105,"column":6},"end":{"line":105,"column":33}},{"start":{"line":105,"column":37},"end":{"line":105,"column":70}}],"line":105},"16":{"loc":{"start":{"line":109,"column":2},"end":{"line":111,"column":3}},"type":"if","locations":[{"start":{"line":109,"column":2},"end":{"line":111,"column":3}},{"start":{},"end":{}}],"line":109},"17":{"loc":{"start":{"line":109,"column":6},"end":{"line":109,"column":48}},"type":"binary-expr","locations":[{"start":{"line":109,"column":6},"end":{"line":109,"column":27}},{"start":{"line":109,"column":31},"end":{"line":109,"column":37}},{"start":{"line":109,"column":41},"end":{"line":109,"column":48}}],"line":109},"18":{"loc":{"start":{"line":113,"column":2},"end":{"line":122,"column":3}},"type":"if","locations":[{"start":{"line":113,"column":2},"end":{"line":122,"column":3}},{"start":{},"end":{}}],"line":113},"19":{"loc":{"start":{"line":113,"column":6},"end":{"line":113,"column":38}},"type":"binary-expr","locations":[{"start":{"line":113,"column":6},"end":{"line":113,"column":27}},{"start":{"line":113,"column":31},"end":{"line":113,"column":38}}],"line":113},"20":{"loc":{"start":{"line":115,"column":4},"end":{"line":121,"column":5}},"type":"if","locations":[{"start":{"line":115,"column":4},"end":{"line":121,"column":5}},{"start":{"line":118,"column":9},"end":{"line":121,"column":5}}],"line":115},"21":{"loc":{"start":{"line":137,"column":8},"end":{"line":143,"column":9}},"type":"if","locations":[{"start":{"line":137,"column":8},"end":{"line":143,"column":9}},{"start":{},"end":{}}],"line":137}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":0,"12":0,"13":1,"14":2,"15":2,"16":4,"17":4,"18":4,"19":4,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":2,"31":2,"32":1,"33":1,"34":1,"35":1,"36":0,"37":1,"38":1,"39":1,"40":2,"41":1,"42":1,"43":1,"44":1,"45":1,"46":0,"47":1,"48":1,"49":1,"50":1,"51":0,"52":0,"53":1,"54":1,"55":1,"56":1,"57":1,"58":2,"59":1,"60":1,"61":1,"62":1,"63":0,"64":1,"65":0,"66":1,"67":1,"68":0,"69":1,"70":0,"71":1,"72":0,"73":0,"74":0,"75":0,"76":1,"77":1,"78":1,"79":1,"80":1,"81":1,"82":1,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":1,"92":1,"93":1,"94":1,"95":1,"96":0,"97":0,"98":0,"99":0,"100":1,"101":1,"102":1},"f":{"0":0,"1":2,"2":0,"3":0,"4":0,"5":1,"6":1,"7":1,"8":0,"9":0,"10":0,"11":0},"b":{"0":[0,0],"1":[1],"2":[1,0],"3":[1,0],"4":[1,1],"5":[1,0],"6":[0,1],"7":[1,0],"8":[1,1],"9":[1,0],"10":[1,1],"11":[1,0],"12":[0,1],"13":[0,1],"14":[0,1],"15":[1,1],"16":[0,1],"17":[1,0,0],"18":[0,1],"19":[1,0],"20":[0,0],"21":[0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"99dac7379309583c1e422f37e7342da128410238"}
-,"/home/desktop/Apps/Superalgos_DEV/Superalgos/Launch-Scripts/systemCheck.js": {"path":"/home/desktop/Apps/Superalgos_DEV/Superalgos/Launch-Scripts/systemCheck.js","statementMap":{"0":{"start":{"line":1,"column":21},"end":{"line":1,"column":45}},"1":{"start":{"line":2,"column":11},"end":{"line":2,"column":24}},"2":{"start":{"line":3,"column":12},"end":{"line":3,"column":54}},"3":{"start":{"line":11,"column":4},"end":{"line":67,"column":5}},"4":{"start":{"line":14,"column":30},"end":{"line":14,"column":86}},"5":{"start":{"line":15,"column":31},"end":{"line":15,"column":87}},"6":{"start":{"line":16,"column":30},"end":{"line":16,"column":92}},"7":{"start":{"line":17,"column":27},"end":{"line":17,"column":58}},"8":{"start":{"line":18,"column":28},"end":{"line":18,"column":73}},"9":{"start":{"line":19,"column":27},"end":{"line":19,"column":72}},"10":{"start":{"line":22,"column":8},"end":{"line":27,"column":9}},"11":{"start":{"line":23,"column":12},"end":{"line":23,"column":27}},"12":{"start":{"line":24,"column":12},"end":{"line":24,"column":141}},"13":{"start":{"line":25,"column":12},"end":{"line":25,"column":27}},"14":{"start":{"line":26,"column":12},"end":{"line":26,"column":26}},"15":{"start":{"line":30,"column":8},"end":{"line":35,"column":9}},"16":{"start":{"line":31,"column":12},"end":{"line":31,"column":27}},"17":{"start":{"line":32,"column":12},"end":{"line":32,"column":143}},"18":{"start":{"line":33,"column":12},"end":{"line":33,"column":27}},"19":{"start":{"line":34,"column":12},"end":{"line":34,"column":26}},"20":{"start":{"line":38,"column":8},"end":{"line":43,"column":9}},"21":{"start":{"line":39,"column":12},"end":{"line":39,"column":27}},"22":{"start":{"line":40,"column":12},"end":{"line":40,"column":141}},"23":{"start":{"line":41,"column":12},"end":{"line":41,"column":27}},"24":{"start":{"line":42,"column":12},"end":{"line":42,"column":26}},"25":{"start":{"line":47,"column":8},"end":{"line":59,"column":9}},"26":{"start":{"line":50,"column":25},"end":{"line":50,"column":85}},"27":{"start":{"line":51,"column":24},"end":{"line":51,"column":49}},"28":{"start":{"line":52,"column":12},"end":{"line":57,"column":13}},"29":{"start":{"line":53,"column":16},"end":{"line":53,"column":31}},"30":{"start":{"line":54,"column":16},"end":{"line":54,"column":137}},"31":{"start":{"line":55,"column":16},"end":{"line":55,"column":31}},"32":{"start":{"line":56,"column":16},"end":{"line":56,"column":30}},"33":{"start":{"line":62,"column":8},"end":{"line":62,"column":23}},"34":{"start":{"line":63,"column":8},"end":{"line":63,"column":60}},"35":{"start":{"line":64,"column":8},"end":{"line":64,"column":23}},"36":{"start":{"line":65,"column":8},"end":{"line":65,"column":28}},"37":{"start":{"line":66,"column":8},"end":{"line":66,"column":20}},"38":{"start":{"line":68,"column":4},"end":{"line":68,"column":15}},"39":{"start":{"line":72,"column":0},"end":{"line":72,"column":28}}},"fnMap":{"0":{"name":"systemCheck","decl":{"start":{"line":10,"column":9},"end":{"line":10,"column":20}},"loc":{"start":{"line":10,"column":24},"end":{"line":70,"column":1}},"line":10}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":8},"end":{"line":27,"column":9}},"type":"if","locations":[{"start":{"line":22,"column":8},"end":{"line":27,"column":9}},{"start":{},"end":{}}],"line":22},"1":{"loc":{"start":{"line":30,"column":8},"end":{"line":35,"column":9}},"type":"if","locations":[{"start":{"line":30,"column":8},"end":{"line":35,"column":9}},{"start":{},"end":{}}],"line":30},"2":{"loc":{"start":{"line":38,"column":8},"end":{"line":43,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":43,"column":9}},{"start":{},"end":{}}],"line":38},"3":{"loc":{"start":{"line":47,"column":8},"end":{"line":59,"column":9}},"type":"if","locations":[{"start":{"line":47,"column":8},"end":{"line":59,"column":9}},{"start":{},"end":{}}],"line":47},"4":{"loc":{"start":{"line":52,"column":12},"end":{"line":57,"column":13}},"type":"if","locations":[{"start":{"line":52,"column":12},"end":{"line":57,"column":13}},{"start":{},"end":{}}],"line":52}},"s":{"0":1,"1":1,"2":1,"3":4,"4":4,"5":4,"6":4,"7":4,"8":4,"9":4,"10":4,"11":1,"12":1,"13":1,"14":1,"15":4,"16":1,"17":1,"18":1,"19":1,"20":4,"21":1,"22":1,"23":1,"24":1,"25":4,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":0,"34":0,"35":0,"36":0,"37":0,"38":4,"39":1},"f":{"0":4},"b":{"0":[1,3],"1":[1,3],"2":[1,3],"3":[1,3],"4":[1,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4140bb60144d1d1487c97c84937cbbe437f3e4fb"}
-}
diff --git a/.testsCoverage/lcov-report/Superalgos/.mocks/index.html b/.testsCoverage/lcov-report/Superalgos/.mocks/index.html
deleted file mode 100644
index 62f2666ba0..0000000000
--- a/.testsCoverage/lcov-report/Superalgos/.mocks/index.html
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
- Code coverage report for Superalgos/.mocks
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 100%
- Statements
- 4/4
-
-
-
-
- 100%
- Branches
- 0/0
-
-
-
-
- 100%
- Functions
- 0/0
-
-
-
-
- 100%
- Lines
- 4/4
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- simple-git.js
-
-
-
- 100%
- 4/4
- 100%
- 0/0
- 100%
- 0/0
- 100%
- 4/4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.testsCoverage/lcov-report/Superalgos/.mocks/simple-git.js.html b/.testsCoverage/lcov-report/Superalgos/.mocks/simple-git.js.html
deleted file mode 100644
index 65ead93e06..0000000000
--- a/.testsCoverage/lcov-report/Superalgos/.mocks/simple-git.js.html
+++ /dev/null
@@ -1,223 +0,0 @@
-
-
-
-
-
- Code coverage report for Superalgos/.mocks/simple-git.js
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 100%
- Statements
- 4/4
-
-
-
-
- 100%
- Branches
- 0/0
-
-
-
-
- 100%
- Functions
- 0/0
-
-
-
-
- 100%
- Lines
- 4/4
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47 1x
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1x
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1x
-
-
-
-1x
-
-
-
-
- const getRemotesResponse = [
- {
- name: 'origin',
- refs: {
- fetch: 'https://github.com/contributor/Superalgos',
- push: 'https://github.com/contributor/Superalgos'
- }
- },
- {
- name: 'upstream',
- refs: {
- fetch: 'https://github.com/Superalgos/Superalgos',
- push: 'https://github.com/Superalgos/Superalgos'
- }
- }
-]
-
-const branchLocalResponse = {
- all: [ 'develop', 'master' ],
- branches: {
- develop: {
- current: true,
- name: 'develop',
- commit: 'eb9999999',
- label: "the latest commit message"
- },
- master: {
- current: false,
- name: 'master',
- commit: '0afffffff',
- label: '[behind 9999] Merge pull request #9999 from contributor/branch'
- }
- },
- current: 'develop',
- detached: false
-}
-
-const removeRemoteResponse = {
- removed: 'https://github.com/contributor/Superalgos/branch'
-}
-
-module.exports = {
- getRemotesResponse,
- branchLocalResponse,
- removeRemoteResponse
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.testsCoverage/lcov-report/Superalgos/Environment.js.html b/.testsCoverage/lcov-report/Superalgos/Environment.js.html
deleted file mode 100644
index 5535b102b6..0000000000
--- a/.testsCoverage/lcov-report/Superalgos/Environment.js.html
+++ /dev/null
@@ -1,322 +0,0 @@
-
-
-
-
-
- Code coverage report for Superalgos/Environment.js
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 66.66%
- Statements
- 10/15
-
-
-
-
- 50%
- Branches
- 3/6
-
-
-
-
- 100%
- Functions
- 1/1
-
-
-
-
- 66.66%
- Lines
- 10/15
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80 3x
-
-
-3x
-
-
-3x
-
-
-3x
-
-3x
-
-8x
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-8x
-
-
-
-
-
-8x
-368x
-
-
-
-
-8x
-
- const path = require("path")
-
-let basePath
-I if (process.env.PACKAGED_PATH) {
- basePath = process.env.PACKAGED_PATH
-} else {
- basePath = __dirname
-}
-
-const projectPluginMap = require(path.join(basePath, './Plugins/project-plugin-map.json'))
-
-exports.newEnvironment = function () {
-
- let thisObject = {
- DEMO_MODE: false,
- DEMO_MODE_HOST: "super-super-uzzdd68dwm9w-22a320db4ede63aa.elb.us-east-2.amazonaws.com",
- BASE_PATH: basePath,
- WEB_SERVER_URL: 'localhost',
- PLATFORM_WEB_SOCKETS_INTERFACE_PORT: 18041,
- NETWORK_WEB_SOCKETS_INTERFACE_PORT: 17041,
- DESKTOP_WEB_SOCKETS_INTERFACE_PORT: 16041,
- DESKTOP_WEB_SOCKETS_INTERFACE_HOST: 'localhost',
- PLATFORM_HTTP_INTERFACE_PORT: 34248,
- DESKTOP_HTTP_INTERFACE_PORT: 33248,
- NETWORK_HTTP_INTERFACE_PORT: 31248,
- PATH_TO_DATA_STORAGE: path.join(basePath, './Platform/My-Data-Storage'),
- PATH_TO_PROJECTS: path.join(basePath, './Projects'),
- PATH_TO_PLUGINS: path.join(basePath, './Plugins'),
- PROJECT_PLUGIN_MAP: projectPluginMap,
- PATH_TO_LOG_FILES: path.join(basePath, './Platform/My-Log-Files'),
- PATH_TO_PROJECTS_REQUIRED: path.join(basePath, './Projects'),
- PATH_TO_PROJECT_SCHEMA: path.join(basePath, './Projects/ProjectsSchema.json'),
- PATH_TO_PLATFORM: path.join(basePath, './Platform'),
- PATH_TO_DESKTOP: './Desktop',
- PATH_TO_DEFAULT_WORKSPACE: path.join(basePath, './Plugins/Foundations/Workspaces'),
- PATH_TO_MY_WORKSPACES: path.join(basePath, './Platform/My-Workspaces'),
- PATH_TO_SECRETS: path.join(basePath, './My-Secrets'),
- PATH_TO_FONTS: path.join(basePath, './Platform/WebServer/Fonts'),
- DESKTOP_APP_SIGNING_ACCOUNT: 'Social-Trading-Desktop-App-1',
- DESKTOP_APP_MAX_OUTGOING_PEERS: 1,
- DESKTOP_APP_MAX_OUTGOING_START_PEERS: 0,
- TASK_SERVER_APP_MAX_OUTGOING_PEERS: 1,
- TASK_SERVER_APP_MAX_OUTGOING_START_PEERS: 1,
- MOBILE_APP_SIGNING_ACCOUNT: 'Social-Trading-Mobile-App-1',
- SERVER_APP_SIGNING_ACCOUNT: 'Social-Trading-Server-App-1',
- PLATFORM_APP_SIGNING_ACCOUNT: 'Algo-Traders-Platform-1',
- P2P_NETWORK_NODE_SIGNING_ACCOUNT: 'P2P-Network-Node-1',
- P2P_NETWORK_NODE_MAX_INCOMING_CLIENTS: 2,
- P2P_NETWORK_NODE_MAX_INCOMING_PEERS: 0,
- P2P_NETWORK_NODE_MAX_OUTGOING_PEERS: 0,
- DESKTOP_TARGET_NETWORK_TYPE: 'P2P Network',
- DESKTOP_TARGET_NETWORK_CODENAME: 'Testnet',
- TASK_SERVER_TARGET_NETWORK_TYPE: 'P2P Network',
- TASK_SERVER_TARGET_NETWORK_CODENAME: 'Testnet',
- DESKTOP_DEFAULT_SOCIAL_PERSONA: 'Social-Persona-1',
- DESKTOP_DEFAULT_SOCIAL_TRADING_BOT: 'Social-Trading-Bot-1',
- NPM_NEEDED_VERSION: '5',
- NODE_NEEDED_VERSION: '12',
- GIT_NEEDED_VERSION: '2',
- EXTERNAL_SCRIPTS: [
- 'https://code.jquery.com/jquery-3.6.0.js',
- 'https://code.jquery.com/ui/1.13.0/jquery-ui.js'
- ]
- }
-
- I if (process.env.DATA_PATH) {
- thisObject.PATH_TO_DATA_STORAGE = path.join(process.env.DATA_PATH, '/Superalgos_Data/My-Data-Storage')
- thisObject.PATH_TO_LOG_FILES = path.join(process.env.DATA_PATH, '/Superalgos_Data/My-Log-Files')
- thisObject.PATH_TO_MY_WORKSPACES = path.join(process.env.DATA_PATH, '/Superalgos_Data/My-Workspaces')
- }
-
- for (const envVariable in thisObject) {
- I if (thisObject[envVariable] === undefined) {
- throw new Error(`Environment variable ${envVariable} is not defined`)
- }
- }
-
- return thisObject
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.testsCoverage/lcov-report/Superalgos/Launch-Scripts/createShortcut.js.html b/.testsCoverage/lcov-report/Superalgos/Launch-Scripts/createShortcut.js.html
deleted file mode 100644
index a186f5ba0f..0000000000
--- a/.testsCoverage/lcov-report/Superalgos/Launch-Scripts/createShortcut.js.html
+++ /dev/null
@@ -1,568 +0,0 @@
-
-
-
-
-
- Code coverage report for Superalgos/Launch-Scripts/createShortcut.js
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 65.21%
- Statements
- 45/69
-
-
-
-
- 66.66%
- Branches
- 8/12
-
-
-
-
- 33.33%
- Functions
- 1/3
-
-
-
-
- 65.21%
- Lines
- 45/69
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162 1x
-1x
-1x
-1x
-
-1x
-
-5x
-5x
-5x
-
-
-5x
-
-1x
-1x
-1x
-
-
-
-
-
-1x
-2x
-
-2x
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1x
-
-
-4x
-
-2x
-
-2x
-
-1x
-
-
-1x
-
-
-
-
-
-
-
-
-
-
-
-
-
-1x
-
-
-1x
-1x
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1x
-
-
-
-1x
-1x
-
-
-
-2x
-1x
-1x
-1x
-1x
-1x
-
-1x
-
-1x
-
-
-
-
-
-
-
-
-1x
-
-
-
-
-1x
-
-
-1x
-
-
-
-
-
-1x
-
-
-
-
-
-1x
-
-
-
-
-
-
-
-
-
-
-
-1x
-1x
-
-
-
-1x
-1x
-
-
-
-1x const path = require("path")
-const fs = require("fs")
-const { execSync } = require("child_process")
-const os = require("os")
-
-const createShortcut = () => {
- // Get the name of the main directory
- let cwd = __dirname
- let dirs = cwd.split(path.sep)
- let name = dirs[dirs.length - 2]
-
- // Windows Shortcuts
- if (os.platform() == "win32") {
- // Paths and Icon for Windows shortcuts
- let target = path.join( __dirname, "launch-windows.bat")
- let icon = path.join( __dirname, "superalgos.ico")
- let shortcutPaths = [
- path.join( os.homedir(), "Desktop", `${name}.lnk`),
- path.join( os.homedir(), "AppData", "Roaming", "Microsoft", "Windows", "Start Menu", "Programs", `${name}.lnk`)
- ]
-
- // Place Shortcuts using powershell
- for (let dir of shortcutPaths) {
- let command = `$ws = New-Object -ComObject WScript.Shell; $s = $ws.CreateShortcut("${dir}"); $S.TargetPath = "${target}"; $S.IconLocation = "${icon}"; $S.Save()`
-
- execSync(command,
- {
- shell: "powershell.exe",
- execArgv: "-ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -Command"
- },
- fu nction ( error, stdout){
- if (error) {
- console.log('')
- console.log("There was an error installing a shortcut: ")
- console.log('')
- console.log( error )
- return false
- } else {
- console.log('')
- console.log("Shortcut added successfully!")
- console.log('')
- console.log(stdout)
- }
- })
- }
-
- return "Shortcuts created for windows system"
-
- // Linux Shortcuts
- } else if (os.platform() == "linux") {
- // Check for Ubuntu
- let version = os.version()
-
- if (version.includes("Ubuntu")) {
- // Paths and Icon for Ubuntu shortcuts
- let icon = path.join( __dirname,"..", "/Projects/Foundations/Icons/superalgos.png")
-
- // Create .desktop shortcut file
- fs.writeFileSync( `${name}.desktop`,
- `[Desktop Entry]
- Type=Application
- Encoding=UTF-8
- Name=${name}
- Comment=Launch Shortcut for Superalgos
- Path=${__dirname}
- Exec=${__dirname}/launch-linux-mac.sh
- Terminal=true
- Icon=${icon}
- Categories=Application;`,
- )
-
- // Set shortcut as executable
- fs.chmodSync( `${name}.desktop`, "775" )
-
- // Place shortcut in proper folders
- let command = `cp ${name}.desktop ~/Desktop/${name}.desktop & cp ${name}.desktop ~/.local/share/applications/${name}.desktop`
- execSync( command,
- fu nction ( error, stdout ){
- if (error) {
- console.log('')
- console.log("There was an error installing a shortcut: ")
- console.log('')
- console.log( error )
- return false
- } else {
- console.log('')
- console.log("Shortcuts added successfully!")
- }
- // Remove temporary .desktop file
- fs.unlinkSync( `${name}.desktop` )
- })
-
- return "Shortcuts created for Ubuntu"
-
-
- } else {
- console.log( "Automatic shortcut creation is not yet supported on your flavor of linux. If you would like to see this feature add, message @harrellbm on telegram or discord to ask how you can help!")
- return 'Linux shortcuts supported for Ubuntu only'
- }
-
- // Mac Shortcuts
- } else if (os.platform() == "darwin") {
- const icon = path.join( __dirname,"/superalgos.ico")
- const createShortcutCommand = `chmod +x ${name}.command & cp ${name}.command ~/Desktop/${name}.command`
- const installFileIconcommand = `npm install -g fileicon`
- const changeIconCommand = `./node_modules/fileicon/bin/fileicon set ~/Desktop/${name}.command ./Launch-Scripts/superalgos.ico`
- const unInstallFileIconcommand = `npm uninstall -g fileicon`
-
- try {
- // Create .desktop shortcut file
- fs.writeFileSync( `${name}.command`,
- `#!/bin/sh
- cd ${__dirname}
- cd ..
- node run
- "$SHELL"`,
- )
-
- // Place shortcut in proper folders
- execSync( createShortcutCommand,{
- timeout: 30000
- })
-
- // Remove temporary .command file
- fs.unlinkSync( `${name}.command` )
-
- //Install fileicon utility
- execSync(installFileIconcommand, {
- stdio: 'inherit',
- timeout: 30000
- })
-
- //change Icon
- execSync(changeIconCommand, {
- stdio: 'inherit',
- timeout: 30000
- })
-
- //Un-Install fileicon utility
- execSync(unInstallFileIconcommand, {
- stdio: 'inherit',
- timeout: 30000
- })
- } catch (error) {
- console.log('')
- console.log("There was an error installing a shortcut: ")
- console.log('')
- console.log( error )
- return false
- }
-
- console.log("Shortcuts added successfully!")
- return 'Shortcuts created for Mac'
-
- // Misc Operating System
- } else {
- console.log("Automatic shortcut creation is not currently supported on your operating system. If you would like to see your operating system added please reachout on discord or telegram to let the devs know.")
- return 'Shortcuts not supported on your system'
- }
-}
-
-module.exports = createShortcut
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.testsCoverage/lcov-report/Superalgos/Launch-Scripts/index.html b/.testsCoverage/lcov-report/Superalgos/Launch-Scripts/index.html
deleted file mode 100644
index 3339fd3f70..0000000000
--- a/.testsCoverage/lcov-report/Superalgos/Launch-Scripts/index.html
+++ /dev/null
@@ -1,146 +0,0 @@
-
-
-
-
-
- Code coverage report for Superalgos/Launch-Scripts
-
-
-
-
-
-
-
-
-
-
-
-
All files Superalgos/Launch-Scripts
-
-
-
- 69.33%
- Statements
- 147/212
-
-
-
-
- 60.6%
- Branches
- 40/66
-
-
-
-
- 37.5%
- Functions
- 6/16
-
-
-
-
- 69.26%
- Lines
- 142/205
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- createShortcut.js
-
-
-
- 65.21%
- 45/69
- 66.66%
- 8/12
- 33.33%
- 1/3
- 65.21%
- 45/69
-
-
-
- runSetup.js
-
-
-
- 65.04%
- 67/103
- 52.27%
- 23/44
- 33.33%
- 4/12
- 64.58%
- 62/96
-
-
-
- systemCheck.js
-
-
-
- 87.5%
- 35/40
- 90%
- 9/10
- 100%
- 1/1
- 87.5%
- 35/40
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.testsCoverage/lcov-report/Superalgos/Launch-Scripts/runSetup.js.html b/.testsCoverage/lcov-report/Superalgos/Launch-Scripts/runSetup.js.html
deleted file mode 100644
index d701552561..0000000000
--- a/.testsCoverage/lcov-report/Superalgos/Launch-Scripts/runSetup.js.html
+++ /dev/null
@@ -1,634 +0,0 @@
-
-
-
-
-
- Code coverage report for Superalgos/Launch-Scripts/runSetup.js
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 65.04%
- Statements
- 67/103
-
-
-
-
- 52.27%
- Branches
- 23/44
-
-
-
-
- 33.33%
- Functions
- 4/12
-
-
-
-
- 64.58%
- Lines
- 62/96
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184 1x
-1x
-1x
-1x
-1x
-1x
-1x
-1x
-1x
-1x
-
-1x
-
-
-
-
-
-1x
-2x
-4x
-4x
-4x
-4x
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-2x
-2x
-
-
-1x
-
-1x
-
-
-
-
-
-1x
-
-
-1x
-
-
-1x
-
-
-1x
-2x
-1x
-
-1x
-1x
-1x
-
-
-
-
-
-1x
-
-
-
-
-
-
-1x
-1x
-1x
-1x
-
-
-
-
-
-
-
-1x
-1x
-1x
-1x
-2x
-1x
-
-1x
-
-
-1x
-
-
-
-
-1x
-1x
-
-
-
-1x
-
-
-
-1x
-
-
-
-
-
-
-
-
-
-1x
-1x
-
-
-1x
-
-1x
-1x
-1x
-1x
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-1x
-1x
-1x
-1x
-
-
-1x
-
-
-
-
-
-
-
-
-
-
-
-1x
-1x
-
-
-1x
-
-
-
-
- const path = require('path')
-const fs = require('fs')
-const process = require('process')
-const { exec } = require('child_process')
-const https = require('https')
-const externalScriptsDir = path.join(process.cwd(), 'Platform', 'WebServer', 'externalScripts')
-const env = require('../Environment').newEnvironment()
-const externalScriptsURLs = env.EXTERNAL_SCRIPTS
-const projectPluginMap = require('../Plugins/project-plugin-map.json')
-const simpleGit = require('simple-git')
-
-const errorResp = (e ) => {
- console.error(e)
- process.exit(1)
-}
-
-// ** export setup piece by piece for more robust tests **
-const installExternalScripts = () => {
- for (let i = 0; i<externalScriptsURLs.length; i++) {
- const url = externalScriptsURLs[i]
- const filename = url.split('/').pop()
- const dest = path.join(externalScriptsDir, filename)
- const res = https.get(url, re sp => {
- if (resp.statusCode !== 200) {
- console.error(
- `Error downloading ${url}: HTTP response code ${response.statusCode}.`
- )
- return false
- } else {
- const writeStream = fs.createWriteStream(dest)
- resp.pipe(writeStream)
- writeStream.on('error', () => console.error('Error writing to ' + path.resolve(dest)))
- writeStream.on('finish', () => writeStream.close())
- return 5555
- }
- })
- }
- console.log('External scripts installed')
- return 'External scripts installed'
-}
-
-const setUpstreamAndOrigin = async (dir, repo='Superalgos') => {
- // initialize simpleGit
- const options = {
- binary: 'git',
- maxConcurrentProcesses: 6,
- }
-
- // main app repo should be the working directory
- if (repo === 'Superalgos') options.baseDir = dir || process.cwd()
- // if repo is not main app repo, assume it is a plugin, in ./Plugins.
- else E options.baseDir = path.join(process.cwd(), 'Plugins', dir)
- const git = simpleGit(options)
-
- // Check to see it main repo has been set as upstream
- let remotes = await git.getRemotes(true).catch(errorResp)
- let isUpstreamSet
- let origin
- for (let remote in remotes) {
- if (remotes[remote].name === 'upstream') {
- isUpstreamSet = true
- } else {
- isUpstreamSet = false
- E if (remotes[remote].name === 'origin') {
- origin = remotes[remote].refs.fetch
- }
- }
- }
-
- // If upstream has not been set. Set it now
- I if (isUpstreamSet === false) {
- await git.addRemote('upstream', `https://github.com/Superalgos/${repo}`).catch(errorResp)
- }
-
- let gitUser
- let usesSSH
- // if in main Superalgos repo, set gitUser from origin
- E if (repo === 'Superalgos' && origin) {
- if (origin.indexOf('@') === -1) {
- gitUser = origin.split('/')[3]
- useSSH = false
- } else E {
- gitUser = origin.split(':')[1].split('/')[0]
- usesSSH = true
- }
- }
-
- // Check that branches exist
- let branchSumAll = await git.branchLocal().catch(errorResp)
- let masterExists = false
- let developExists = false
- for (let i = 0; i < branchSumAll.all.length; i++) {
- if (branchSumAll.all[i] === 'master') masterExists = true
- else E if (branchSumAll.all[i] === 'develop') developExists = true
- }
- I if (!masterExists) {
- await git.checkout(['-B', 'master'])
- }
- I if (!developExists) {
- await git.checkout(['-B', 'develop'])
- }
-
- // Check that a branch is checked out, otherwise checkout develop
- branchSumAll = await git.branchLocal().catch(errorResp)
- I if (branchSumAll.current === '' || branchSumAll.current === 'master') {
- await git.checkout(['-B', 'develop'])
- }
-
- I if (repo !== 'Superalgos' && origin && gitUser) {
- await git.removeRemote('origin').catch(errorResp)
- }
-
- I if (repo !== 'Superalgos' && gitUser) {
- let orURL
- if (usesSSH) {
- orURL = `git@github.com:${gitUser}/${repo}.git`
- }
- else {
- orURL = `https://github.com/${gitUser}/${repo}.git`
- await git.addRemote('origin', orURL).catch(errorResp)
- }
- }
- console.log('Set upstream and origin for github')
- return 'Set upstream and origin for github'
-}
-
-const runSetup = () => {
- // Install Node_Modules to Main Superalgos Directory
- let dir = process.cwd()
- let command = 'echo Results of install at ' + dir + ' & npm ci'
- let nodeInstPromise = new Promise(resolve => {
- exec(command,
- {
- cwd: dir
- },
- (e rror, stdout) => {
- if (error) {
- console.log('')
- console.log('There was an error installing some dependencies error: ')
- console.log('')
- console.log(error)
- process.exit(1)
- }
- console.log('')
- console.log(stdout)
- })
- })
- /*
- Here we will go and clone all the plugins repositories that have not been cloned yet.
- Temporarily commenting this section as source for githubUserName and token in this script are not clear.
-
- const SETUP_PLUGINS_MODULE = require('./setupPlugins.js')
- SETUP_PLUGINS_MODULE.run(githubUserName, token)
- */
-
- // Donload external scripts
- console.log('')
- console.log('Downloading external scripts …')
- console.log('')
- installExternalScripts()
-
- // wait until node installation is complete
- nodeInstPromise.then(() => {
- // Initialize and update git repositories
- // Ensure upstream and origin are set for this repo and submodules
-
- let gitUser
- let usesSSH = false
- setUpstreamAndOrigin().then(as ync () => {
- Object.values(projectPluginMap).forEach(pl ugin => {
- setUpstreamAndOrigin(plugin.dir, plugin.repo)
- })
- }).catch(errorResp)
- })
- console.log('Setup complete')
- return 'Setup complete'
-}
-
-module.exports = {
- runSetup,
- setUpstreamAndOrigin,
- installExternalScripts
-}
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.testsCoverage/lcov-report/Superalgos/Launch-Scripts/systemCheck.js.html b/.testsCoverage/lcov-report/Superalgos/Launch-Scripts/systemCheck.js.html
deleted file mode 100644
index b4288e8f9e..0000000000
--- a/.testsCoverage/lcov-report/Superalgos/Launch-Scripts/systemCheck.js.html
+++ /dev/null
@@ -1,301 +0,0 @@
-
-
-
-
-
- Code coverage report for Superalgos/Launch-Scripts/systemCheck.js
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 87.5%
- Statements
- 35/40
-
-
-
-
- 90%
- Branches
- 9/10
-
-
-
-
- 100%
- Functions
- 1/1
-
-
-
-
- 87.5%
- Lines
- 35/40
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73 1x
-1x
-1x
-
-
-
-
-
-
-
-4x
-
-
-4x
-4x
-4x
-4x
-4x
-4x
-
-
-4x
-1x
-1x
-1x
-1x
-
-
-
-4x
-1x
-1x
-1x
-1x
-
-
-
-4x
-1x
-1x
-1x
-1x
-
-
-
-
-4x
-
-
-1x
-1x
-1x
-1x
-1x
-1x
-1x
-
-
-
-
-
-
-
-
-
-
-
-4x
-
-
-
-1x
- const { execSync } = require("child_process")
-const os = require("os")
-const env = require("../Environment").newEnvironment()
-
-// moved 'minimum versions required' to environment file, this
-// centralizes them in one place & makes tests more robust
-
-// Also removed semicolons
-
-function systemCheck () {
- try {
-
- // Gather Installed Versions of Node, NPM and Git
- const npmVersionRaw = execSync( "npm -v",{ encoding: 'utf8', timeout: 30000 })
- const nodeVersionRaw = execSync( "node -v",{ encoding: 'utf8',timeout: 30000 })
- const gitVersionRaw = execSync( "git --version",{ encoding: 'utf8',timeout: 30000 })
- const npmVersion = npmVersionRaw.trim().split('.')
- const nodeVersion = nodeVersionRaw.trim().substring(1).split('.')
- const gitVersion = gitVersionRaw.trim().split(' ')[2].split('.')
-
- // Make sure update version of npm is installed
- if ( npmVersion[0] < env.NPM_NEEDED_VERSION ) {
- console.log('')
- console.log("ERROR: the version of npm you have installed is out of date. Please update your installation of npm and try again.")
- console.log('')
- process.exit()
- }
-
- // Make sure update version of node is installed
- if ( nodeVersion[0] < env.NODE_NEEDED_VERSION ) {
- console.log('')
- console.log("ERROR: the version of node you have installed is out of date. Please update your installation of node and try again.")
- console.log('')
- process.exit()
- }
-
- // Make sure updated version of git is installed
- if ( gitVersion[0] < env.GIT_NEEDED_VERSION ) {
- console.log('')
- console.log("ERROR: the version of git you have installed is out of date. Please update your installation of git and try again.")
- console.log('')
- process.exit()
- }
-
- // Check windows system
- // console.log(os.platform())
- if (os.platform() === "win32") {
-
- // Verify C:\Windows\System32 is on the windows PATH
- const path = execSync( "echo %PATH%",{ encoding: 'utf8',timeout: 30000 })
- let check = path.includes('System32')
- E if ( check === false ) {
- console.log('')
- console.log("ERROR: it appears C:\\Windows\\System32 is missing from your PATH. Please add to your path and try again.")
- console.log('')
- process.exit()
- }
-
- }
-
- } catch (error) {
- console.log('')
- console.log("There was an error with your system: ")
- console.log('')
- console.log( error )
- return false
- }
- return true
-
-};
-
-module.exports = systemCheck
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.testsCoverage/lcov-report/Superalgos/index.html b/.testsCoverage/lcov-report/Superalgos/index.html
deleted file mode 100644
index 92819be912..0000000000
--- a/.testsCoverage/lcov-report/Superalgos/index.html
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
- Code coverage report for Superalgos
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 66.66%
- Statements
- 10/15
-
-
-
-
- 50%
- Branches
- 3/6
-
-
-
-
- 100%
- Functions
- 1/1
-
-
-
-
- 66.66%
- Lines
- 10/15
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- Environment.js
-
-
-
- 66.66%
- 10/15
- 50%
- 3/6
- 100%
- 1/1
- 66.66%
- 10/15
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.testsCoverage/lcov-report/base.css b/.testsCoverage/lcov-report/base.css
deleted file mode 100644
index f418035b46..0000000000
--- a/.testsCoverage/lcov-report/base.css
+++ /dev/null
@@ -1,224 +0,0 @@
-body, html {
- margin:0; padding: 0;
- height: 100%;
-}
-body {
- font-family: Helvetica Neue, Helvetica, Arial;
- font-size: 14px;
- color:#333;
-}
-.small { font-size: 12px; }
-*, *:after, *:before {
- -webkit-box-sizing:border-box;
- -moz-box-sizing:border-box;
- box-sizing:border-box;
- }
-h1 { font-size: 20px; margin: 0;}
-h2 { font-size: 14px; }
-pre {
- font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace;
- margin: 0;
- padding: 0;
- -moz-tab-size: 2;
- -o-tab-size: 2;
- tab-size: 2;
-}
-a { color:#0074D9; text-decoration:none; }
-a:hover { text-decoration:underline; }
-.strong { font-weight: bold; }
-.space-top1 { padding: 10px 0 0 0; }
-.pad2y { padding: 20px 0; }
-.pad1y { padding: 10px 0; }
-.pad2x { padding: 0 20px; }
-.pad2 { padding: 20px; }
-.pad1 { padding: 10px; }
-.space-left2 { padding-left:55px; }
-.space-right2 { padding-right:20px; }
-.center { text-align:center; }
-.clearfix { display:block; }
-.clearfix:after {
- content:'';
- display:block;
- height:0;
- clear:both;
- visibility:hidden;
- }
-.fl { float: left; }
-@media only screen and (max-width:640px) {
- .col3 { width:100%; max-width:100%; }
- .hide-mobile { display:none!important; }
-}
-
-.quiet {
- color: #7f7f7f;
- color: rgba(0,0,0,0.5);
-}
-.quiet a { opacity: 0.7; }
-
-.fraction {
- font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
- font-size: 10px;
- color: #555;
- background: #E8E8E8;
- padding: 4px 5px;
- border-radius: 3px;
- vertical-align: middle;
-}
-
-div.path a:link, div.path a:visited { color: #333; }
-table.coverage {
- border-collapse: collapse;
- margin: 10px 0 0 0;
- padding: 0;
-}
-
-table.coverage td {
- margin: 0;
- padding: 0;
- vertical-align: top;
-}
-table.coverage td.line-count {
- text-align: right;
- padding: 0 5px 0 20px;
-}
-table.coverage td.line-coverage {
- text-align: right;
- padding-right: 10px;
- min-width:20px;
-}
-
-table.coverage td span.cline-any {
- display: inline-block;
- padding: 0 5px;
- width: 100%;
-}
-.missing-if-branch {
- display: inline-block;
- margin-right: 5px;
- border-radius: 3px;
- position: relative;
- padding: 0 4px;
- background: #333;
- color: yellow;
-}
-
-.skip-if-branch {
- display: none;
- margin-right: 10px;
- position: relative;
- padding: 0 4px;
- background: #ccc;
- color: white;
-}
-.missing-if-branch .typ, .skip-if-branch .typ {
- color: inherit !important;
-}
-.coverage-summary {
- border-collapse: collapse;
- width: 100%;
-}
-.coverage-summary tr { border-bottom: 1px solid #bbb; }
-.keyline-all { border: 1px solid #ddd; }
-.coverage-summary td, .coverage-summary th { padding: 10px; }
-.coverage-summary tbody { border: 1px solid #bbb; }
-.coverage-summary td { border-right: 1px solid #bbb; }
-.coverage-summary td:last-child { border-right: none; }
-.coverage-summary th {
- text-align: left;
- font-weight: normal;
- white-space: nowrap;
-}
-.coverage-summary th.file { border-right: none !important; }
-.coverage-summary th.pct { }
-.coverage-summary th.pic,
-.coverage-summary th.abs,
-.coverage-summary td.pct,
-.coverage-summary td.abs { text-align: right; }
-.coverage-summary td.file { white-space: nowrap; }
-.coverage-summary td.pic { min-width: 120px !important; }
-.coverage-summary tfoot td { }
-
-.coverage-summary .sorter {
- height: 10px;
- width: 7px;
- display: inline-block;
- margin-left: 0.5em;
- background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent;
-}
-.coverage-summary .sorted .sorter {
- background-position: 0 -20px;
-}
-.coverage-summary .sorted-desc .sorter {
- background-position: 0 -10px;
-}
-.status-line { height: 10px; }
-/* yellow */
-.cbranch-no { background: yellow !important; color: #111; }
-/* dark red */
-.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 }
-.low .chart { border:1px solid #C21F39 }
-.highlighted,
-.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{
- background: #C21F39 !important;
-}
-/* medium red */
-.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE }
-/* light red */
-.low, .cline-no { background:#FCE1E5 }
-/* light green */
-.high, .cline-yes { background:rgb(230,245,208) }
-/* medium green */
-.cstat-yes { background:rgb(161,215,106) }
-/* dark green */
-.status-line.high, .high .cover-fill { background:rgb(77,146,33) }
-.high .chart { border:1px solid rgb(77,146,33) }
-/* dark yellow (gold) */
-.status-line.medium, .medium .cover-fill { background: #f9cd0b; }
-.medium .chart { border:1px solid #f9cd0b; }
-/* light yellow */
-.medium { background: #fff4c2; }
-
-.cstat-skip { background: #ddd; color: #111; }
-.fstat-skip { background: #ddd; color: #111 !important; }
-.cbranch-skip { background: #ddd !important; color: #111; }
-
-span.cline-neutral { background: #eaeaea; }
-
-.coverage-summary td.empty {
- opacity: .5;
- padding-top: 4px;
- padding-bottom: 4px;
- line-height: 1;
- color: #888;
-}
-
-.cover-fill, .cover-empty {
- display:inline-block;
- height: 12px;
-}
-.chart {
- line-height: 0;
-}
-.cover-empty {
- background: white;
-}
-.cover-full {
- border-right: none !important;
-}
-pre.prettyprint {
- border: none !important;
- padding: 0 !important;
- margin: 0 !important;
-}
-.com { color: #999 !important; }
-.ignore-none { color: #999; font-weight: normal; }
-
-.wrapper {
- min-height: 100%;
- height: auto !important;
- height: 100%;
- margin: 0 auto -48px;
-}
-.footer, .push {
- height: 48px;
-}
diff --git a/.testsCoverage/lcov-report/block-navigation.js b/.testsCoverage/lcov-report/block-navigation.js
deleted file mode 100644
index cc12130231..0000000000
--- a/.testsCoverage/lcov-report/block-navigation.js
+++ /dev/null
@@ -1,87 +0,0 @@
-/* eslint-disable */
-var jumpToCode = (function init() {
- // Classes of code we would like to highlight in the file view
- var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no'];
-
- // Elements to highlight in the file listing view
- var fileListingElements = ['td.pct.low'];
-
- // We don't want to select elements that are direct descendants of another match
- var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > `
-
- // Selecter that finds elements on the page to which we can jump
- var selector =
- fileListingElements.join(', ') +
- ', ' +
- notSelector +
- missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b`
-
- // The NodeList of matching elements
- var missingCoverageElements = document.querySelectorAll(selector);
-
- var currentIndex;
-
- function toggleClass(index) {
- missingCoverageElements
- .item(currentIndex)
- .classList.remove('highlighted');
- missingCoverageElements.item(index).classList.add('highlighted');
- }
-
- function makeCurrent(index) {
- toggleClass(index);
- currentIndex = index;
- missingCoverageElements.item(index).scrollIntoView({
- behavior: 'smooth',
- block: 'center',
- inline: 'center'
- });
- }
-
- function goToPrevious() {
- var nextIndex = 0;
- if (typeof currentIndex !== 'number' || currentIndex === 0) {
- nextIndex = missingCoverageElements.length - 1;
- } else if (missingCoverageElements.length > 1) {
- nextIndex = currentIndex - 1;
- }
-
- makeCurrent(nextIndex);
- }
-
- function goToNext() {
- var nextIndex = 0;
-
- if (
- typeof currentIndex === 'number' &&
- currentIndex < missingCoverageElements.length - 1
- ) {
- nextIndex = currentIndex + 1;
- }
-
- makeCurrent(nextIndex);
- }
-
- return function jump(event) {
- if (
- document.getElementById('fileSearch') === document.activeElement &&
- document.activeElement != null
- ) {
- // if we're currently focused on the search input, we don't want to navigate
- return;
- }
-
- switch (event.which) {
- case 78: // n
- case 74: // j
- goToNext();
- break;
- case 66: // b
- case 75: // k
- case 80: // p
- goToPrevious();
- break;
- }
- };
-})();
-window.addEventListener('keydown', jumpToCode);
diff --git a/.testsCoverage/lcov-report/favicon.png b/.testsCoverage/lcov-report/favicon.png
deleted file mode 100644
index 6691817834..0000000000
Binary files a/.testsCoverage/lcov-report/favicon.png and /dev/null differ
diff --git a/.testsCoverage/lcov-report/index.html b/.testsCoverage/lcov-report/index.html
deleted file mode 100644
index 44c1d30906..0000000000
--- a/.testsCoverage/lcov-report/index.html
+++ /dev/null
@@ -1,146 +0,0 @@
-
-
-
-
-
- Code coverage report for All files
-
-
-
-
-
-
-
-
-
-
-
-
All files
-
-
-
- 69.69%
- Statements
- 161/231
-
-
-
-
- 59.72%
- Branches
- 43/72
-
-
-
-
- 41.17%
- Functions
- 7/17
-
-
-
-
- 69.64%
- Lines
- 156/224
-
-
-
-
-
- Press n or j to go to the next uncovered block, b , p or k for the previous block.
-
-
-
- Filter:
-
-
-
-
-
-
-
-
-
- File
-
- Statements
-
- Branches
-
- Functions
-
- Lines
-
-
-
-
- Superalgos
-
-
-
- 66.66%
- 10/15
- 50%
- 3/6
- 100%
- 1/1
- 66.66%
- 10/15
-
-
-
- Superalgos/.mocks
-
-
-
- 100%
- 4/4
- 100%
- 0/0
- 100%
- 0/0
- 100%
- 4/4
-
-
-
- Superalgos/Launch-Scripts
-
-
-
- 69.33%
- 147/212
- 60.6%
- 40/66
- 37.5%
- 6/16
- 69.26%
- 142/205
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.testsCoverage/lcov-report/prettify.css b/.testsCoverage/lcov-report/prettify.css
deleted file mode 100644
index b317a7cda3..0000000000
--- a/.testsCoverage/lcov-report/prettify.css
+++ /dev/null
@@ -1 +0,0 @@
-.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
diff --git a/.testsCoverage/lcov-report/prettify.js b/.testsCoverage/lcov-report/prettify.js
deleted file mode 100644
index b3225238f2..0000000000
--- a/.testsCoverage/lcov-report/prettify.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/* eslint-disable */
-window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^